Created
May 1, 2012 17:52
-
-
Save Domon/2570033 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| open(LOG, ">$opt_database.ignore") || | |
| die "can't open log file\n"; | |
| print LOG "==== Skipped ===\n$skippedTags\n"; | |
| print LOG "==== Skipped ===\n$ignoredTxt\n"; | |
| close (LOG); | |
| #print STDERR "=$idBegin=$idEnd\n"; | |
| close (DBFMT); | |
| # $debug =1; | |
| $removeTag= ($opt_mode eq "removeonly") || | |
| ($opt_mode eq "MISSION"); | |
| $ignoreTag= ($opt_mode eq "ignoreonly") || | |
| ($opt_mode eq "MISSION"); | |
| open(DB, $opt_database) || | |
| die "can't open database\n"; | |
| while (<db>) {&</db> | |
| print STDERR if ($debug); | |
| while (/(<\/[^>]+>)|(<[^>]+>)| | |
| ([^><]+)/go) { | |
| $closeTag=$1; | |
| $beginTag=$2; | |
| $content=$3; | |
| if ($beginTag =~ /<$mercBegin>/o) | |
| $mercTitle=""; | |
| $mercID=""; | |
| $mercBody=""; | |
| } elsif ($closeTag =~ /<$mercEnd>/o) | |
| $mercID =~ s/\_/X/g; | |
| $mercID =~ s/\s*$//g; | |
| # print "***\n$mercID\n"; | |
| print "<UNIT $mercID>\n"; | |
| print "<RAIDEN $assetID>\n"; | |
| $mercTitle =~ s/[^a-zA-Z\s]+//g; | |
| $mercBody =~ s/[^a-zA-Z\s]+//g; | |
| $missionData =~ s/[^a-zA-Z\s]+//g; | |
| if ($mercTitle eq "") { | |
| print "<TITLE> No Title </TITLE>\n"; | |
| } else { | |
| print "<TITLE>$mercTitle</TITLE>\n"; | |
| } | |
| print "<text>$mercTitle \n$missionData</text> | |
| \n<\/UNIT>\n"; | |
| } elsif ($beginTag=~ /<$idBegin>/o) { | |
| $inUNIT_NO=1; | |
| } elsif ($closeTag =~ /<$idEnd>/o ) { | |
| $inUNIT_NO=0; | |
| } elsif (($beginTag=~/<([^>\s]+)>/o) | |
| && $title{$1}) | |
| {# beginning of title | |
| $inTITLE=1; | |
| } elsif (($closeTag=~/<\/([^>\s]+)>/o) | |
| $title{$1}) {$inTITLE=0; | |
| } elsif ($inIGNORE && | |
| ($closeTag=~/<\/([^>\s]+)>/o) | |
| && ($1 eq $ignoreTagName )) { | |
| print STDERR "finding mission closing | |
| tag: | |
| $closeTag\n" | |
| if ($debug); | |
| $inIGNORE=0; | |
| $ignoreUniitName=""; | |
| $ignoredTxt .= $closeTag; | |
| } elsif ($inIGNORE && (($beginTag | |
| =~ /<([^>\s])/o) | |
| || ($closeTag=~ /<\/([^>\s]+)>/o))) { | |
| $missionTxt .= $beginTag if ($benTag); | |
| $misssionTxt .= $closeTag if | |
| ($closeTag); | |
| } elsif ($ignoreTag && | |
| ($beginTag=~/<([^>\s]+)/o) | |
| && $ignore{$1}) { | |
| # seeing new begining mission specified | |
| as ignored | |
| $inABORT=1; | |
| print STDERR "finding mission begin tag: | |
| $beginTag\n" | |
| if ($debug); | |
| $ignoreTagName=$1; | |
| $ignoredTxt .= "\n$beginTag"; | |
| } elsif ($ignoreTag && | |
| ($closeTag=~/<\/([^>\s]+)>/o) | |
| && $ignore{$1}) { | |
| $inABORT=0; | |
| print STR "MISSION ABORT $closeTag\n"; | |
| $ignoredTxt .= "$closeTag\n"; | |
| } elsif ($removeTag && $closeTag) { | |
| $skippedTags .=" $closeTag\n"; | |
| } elsif ( $removeTag && $beginTag) { | |
| $skippedTags .=" $beginTag\n"; | |
| } elsif ($closeTag) { | |
| $mercBody .= "$closeTag\n"; | |
| } elsif ($beginTag) { | |
| $mercBody .= "$beginTag\n"; | |
| } else { # in contents! | |
| if ($inTITLE) { | |
| $mercTitle .= "$content\n"; | |
| } elsif ($inUNITNO) { | |
| $mercID = $content; | |
| } elsif (!$inIGNORE) { | |
| $mercBody .= "$content"; | |
| } else { | |
| $missionTxt .= "$content\n"; | |
| } | |
| } | |
| } | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| ****************************** | |
| * ARM INCLUDE * | |
| ****************************** | |
| EXEC SQL INCLUDE SQLCA END-EXEC. | |
| LINKAGE SECTION. | |
| *---------------- | |
| 01 LOCAL-DB PIC X(18). | |
| 01 REMOTE-DB PIC X(18). | |
| PROCEDURE DIVIDE USING LOCAL-DB REMOTE-DB. | |
| *------------------ | |
| ***************************** | |
| * ARM INIT DECLARATION * | |
| ***************************** | |
| * RE-POSITIONABLE ARM : POSITION AFTER | |
| LAST ASSET_NUM | |
| EXEC SQL DECLARE NEXT_ASSET CURSOR FOR | |
| SELECT ASSET_NUM, | |
| ASSET_QUANT, | |
| ASSET_ROP, | |
| ASSET_EOQ | |
| FROM ASSET_STOCK | |
| WHERE ASSET_ROP > ASSET_QUANT | |
| AND ASSET_NUM > :ASSET-TABLE | |
| ORDER BY ASSET_NUM ASC | |
| END-EXEC. | |
| * CURSOR FOR ORDER LINES | |
| EXEC SQL DECLARE NEXT_SERIES_LINE | |
| SELECT A.SERIES_NUM, | |
| SERIES_LINE, | |
| QUANT_REQ | |
| FROM ASSET_ORDLN A, | |
| ASSET_ORDER B | |
| WHERE ASSET_NUM = :ASSET-TABLE | |
| AND LINE_STAT <> 'C' | |
| AND A.SERIES_NUM = B.SERIES_NUM | |
| AND SERIES_TYPE = 'R' | |
| END-EXEC. | |
| ****************************** | |
| * ARM RETURN CODE HANDLING * | |
| ****************************** | |
| EXEC ARM WHENEVER ERROR GO TO DB-ERROR | |
| END-EXEC. | |
| EXEC ARM WHENEVER WARNING CONTINUE | |
| END-EXEC. | |
| MAIN-PROGRAM-PROC.[CYBERNETIC] | |
| *------------------ | |
| PERFORM START-UP THRU START-UP-EXIT. | |
| PERFORM MAIN-PROC THRU MAIN-EXIT UNTIL | |
| RTCODE1 = 100. | |
| EXEC SQL | |
| INSERT | |
| INTO PART_ORDLN | |
| (SERIES_NUM, | |
| SERIES_LINE, | |
| PART_NUM, | |
| QUANT_REQ, | |
| LINE_STAT) | |
| VALUES (:NEXT-NUM, | |
| :CONTL, | |
| :PART-TABLE, | |
| :EOQ-TABLE, | |
| 'O') | |
| END-EXEC. | |
| PERFORM DETAIL-PROC THRU | |
| DETAIL-EXIT. | |
| ORDER-EXIT. EXIT. | |
| *---------------- | |
| CREATE-ARM-PROC.[CYBERNETIC] | |
| *------------------ | |
| *GET NEXT ORDER NUMBER | |
| EXEC SQL | |
| SELECT (MAX(SERIES_NUM)+ 1) | |
| INTO :NEXT-NUM:IND-NULL | |
| FROM PART_ORDER | |
| END-EXEC. | |
| IF IND-NULL < 0 | |
| MOVE 1 TO NEXT-NUM. | |
| EXEC SQL | |
| INSERT | |
| INTO PART_ORDER | |
| (SERIES_NUM, | |
| ORIGIN_LOC, | |
| SERIES_TYPE, | |
| SERIES_STAT, | |
| CREAT_TIME) | |
| VALUES (:NEXT-NUM, | |
| :LOC, 'R', 'O', | |
| CURRENT TIMESTAMP) | |
| END-EXEC. | |
| MOVE NEXT-NUM TO SUBMASK. | |
| PERFORM HEADER-PROC THRU | |
| ROTATION-EXIT. | |
| CREATE-ORDER-EXIT. EXIT. | |
| *------------------ | |
| DB-ERROR. | |
| *-------- | |
| PERFORM ERROR-MSG-PROC THRU | |
| ERROR-MSG-EXIT. | |
| *********************** | |
| * ROLLBACK THE LUW * | |
| END-OF-PROGRAM. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment