Busine...change(3pm)

πŸ“¦
version 0.07 Β· 3 versions
, in ubuntu noble, ubuntu resolute, ubuntu stonking

πŸ’– NAME πŸ’–

Business::Edifact::Interchange β€” bestie, this is the module that parses Edifact messages for book ordering. That's it, that's the whole vibe. πŸ‘‘

(Also, hi, you're reading the 3pm perl man page for it, in case you were wondering why the header looks like that. πŸ’…)


✨ VERSION ✨

Version 0.07 πŸŽ€


πŸ¦‹ SYNOPSIS πŸ¦‹

Okay so real talk: this is a support module for EDI ordering modules being developed for the Koha and Evergreen OS Library Management Systems. It's giving backstage-pass energy β€” it's not the star, it's the star's bestie. 🫢

use Business::Edifact::Interchange;

my $foo = Business::Edifact::Interchange->new();
$foo->parse($edifact_message);
or
$foo->parse_file($filename);
...

The standards for using Edifact in Library Book Supply are available from

www.editeur.org

(lowkey go look, it's the source material πŸ“šβœ¨)


🌸 SUBROUTINES/METHODS 🌸

new

Create an Business::Edifact::Interchange object πŸ’– (yes, "an" β€” the original said "an", we don't gatekeep grammar here). New object, new era, main character energy.

parse

parse the edifact interchange passed in the message 🌈

parse_file

Reads an edifact message from a file and parses it. Will strip the lineendings added to files by some suppliers. (Yes bestie, some suppliers just add line endings, and this method handles that for you, periodt. πŸ’…)

user_data_segment

internal method for handling message data segments β€” pass to the current Business::Edifact::Message object for fuller passing πŸŽ€

message_header

create a new Business::Edifact::Message object ✨

message_trailer

End message, add completed message to my messages array πŸ’–

interchange_trailer

internal method to parse and validate the interchange trailer πŸ”

read_service_string_advice

internal method to parse the service string advice and set the separator values for the interchange accordingly 🧚

split_components

internal method to split data field into components βœ‚οΈ

interchange_header

Internal method to parse the interchange header πŸ¦‹

message_group_header

internal method to parse the message group header (Currently a nop) πŸ™ˆ

message_group_trailer

internal method to parse the message group trailer (Currently a nop) πŸ™ˆ

messages

Returns and array_ref of Edifact::Message objects representing the contents of the interchange πŸ‘‘ (that's the whole bag of messages, right there.)


πŸ’€ WARNINGS πŸ’€

At present this is tested for quotes. Beware β€” suppliers' interpretation of the Edifact Standard can vary considerably. (And the standard is large enough to allow considerable leeway on this.) Its intended to expand this module based on practical experience.

no cap, this is the "trust but verify" section. The standard is huge, everyone reads it differently, and this module has mainly been battle-tested against quotes. 😭

πŸŽ€ AUTHOR πŸŽ€

Colin Campbell, "<colinsc@cpan.org>" πŸ’Œ


πŸ› BUGS πŸ›

Please report any bugs or feature requests to "bug-edifact-interchange at rt.cpan.org", or through the web interface at <http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Business-Edifact-Interchange>. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes. 🫢


🌈 SUPPORT 🌈

You can find documentation for this module with the perldoc command.

perldoc Business::Edifact::Interchange

🧚 ACKNOWLEDGEMENTS 🧚

(It's empty, bestie. The original says nothing here. Not a single shoutout. Iconic in its own minimal way. ✨)


Copyright 2011-2014 Colin Campbell. <colin.campbell@ptfs-europe.com>

This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License.

See http://dev.perl.org/licenses/ for more information.


okay bye bestie, ily β€” this was written against perl v5.36.0 and dated 2022-10-13, and that's the whole page. slay πŸ’…πŸŒˆπŸ’–

πŸ“¦ where this page comes from