RolandsKenins

EDI Owen

Jun 17th, 2018
34
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 2.37 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. ARGS=$#
  4.  
  5. if [[ $1 == "-i" ]] || [[ $ARGS -eq 0 ]]
  6. then
  7. echo
  8. echo "THIS SCRIPT GENERATES THE STRUCTURE OF THE TRANSLATOR"
  9. echo "FOR PROVIDED EDIFACT VERSION AND TYPE OF DOCUMENT"
  10. echo
  11. echo "SYNTAX: ./OWEN.sh <version> <type>"
  12. echo "  version - EDIFACT version (E.g. D.03A)"
  13. echo "  type    - invoic, ordrsp, orders"
  14. echo
  15. exit 0
  16. fi
  17.  
  18. #SETTING FOR ENVIRONMENT!
  19. if [ ! -f SEGMENTS.sh ] && [ -f ELEMENTS.sh ]
  20. then
  21. tput clear
  22. echo
  23. echo "IMPOSSIBLE TO EXECUTE! SEGMENTS.sh SCRIPT IS MISSING!"
  24. echo
  25. exit 1
  26. else if [ -f SEGMENTS.sh ] && [ ! -f ELEMENTS.sh ]
  27. then
  28. tput clear
  29. echo
  30. echo "IMPOSSIBLE TO EXECUTE! ELEMENTS.sh SCRIPT IS MISSING!"
  31. echo
  32. exit 1
  33. else if [ ! -f SEGMENTS.sh ] && [ ! -f ELEMENTS.sh ]
  34. then
  35. tput clear
  36. echo
  37. echo "IMPOSSIBLE TO EXECUTE! SCRIPTS ARE MISSING!"
  38. echo
  39. exit 1
  40. fi
  41. fi
  42. fi
  43.  
  44. if [[ `ls -la SEGMENTS.sh | cut -f1 -d ' '` == -rw-* ]]
  45. then
  46. chmod +x SEGMENTS.sh
  47. else if [[ `ls -la ELEMENTS.sh | cut -f1 -d ' '` == -rw-* ]]
  48. then
  49. chmod +x ELEMENTS.sh
  50. fi
  51. fi
  52.  
  53. export HERE=`pwd`
  54. export DATADIR=$HERE/DATA
  55. export ARTIFACTDIR=$HERE/ARTIFACTS
  56. export SEGDIR=$DATADIR/SEGS
  57. export MESSDIR=$DATADIR/MESS
  58. export EPATH=/u/edi3/messages/UN-EDIFACT
  59. export VER=$EPATH/$1
  60. #export SEG=$VER/segs/$2
  61. export MESS=$VER/$2.msg
  62. export FILENAME=`echo $2 | tr '[:lower:]' '[:upper:]'`.$1-I-E.tcl
  63.  
  64. #EPATH="/u/edi3/messages/UN-EDIFACT"
  65. #VER=$EPATH"/"$1
  66. #HERE=`pwd`
  67. #MESS=$VER"/"$2".msg"
  68. #FILENAME=`echo $2 | tr '[:lower:]' '[:upper:]'`.$1-I-E.tcl
  69. #ARTIFACTDIR=$HERE/ARTIFACTS
  70. #DATADIR=$HERE/DATA
  71.  
  72. if [ ! -d $DATADIR ]
  73. then
  74. mkdir $DATADIR
  75. else if [ ! -d $ARTIFACTDIR ]
  76. then
  77. mkdir $ARTIFACTDIR
  78. else if [ ! -d $SEGDIR ]
  79. then
  80. mkdir $SEGDIR
  81. else if [ ! -d $MESSDIR ]
  82. then
  83. mkdir $MESSDIR
  84. fi
  85. fi
  86. fi
  87. fi
  88.  
  89. # CHECKS IF 'SEGS' FOLDER EXISTS
  90. # IF TRUE - ERASES CONTENT
  91. if [ ! -d $SEGDIR ]
  92. then
  93. mkdir $SEGDIR
  94. else if [[ `ls $SEGDIR | wc -l` -gt 0 ]] && [ -d $SEGDIR ]
  95. then
  96. rm $SEGDIR/*
  97. fi
  98. fi
  99.  
  100. # BUILDS A LIST OF SEGMENTS FOR VERSION PROVIDED
  101. # AFTER segs.list IS ERASED
  102. # PARSED ELEMENTS ARE STORED IN 'SEGS' FOLDER
  103. ls $VER/segs > $DATADIR/segs.list
  104. cp $DATADIR/segs.list $HERE/segs.list.bckp
  105. while read line
  106. do
  107. echo "SEGMENT $line START!"
  108. echo
  109. ./ELEMENTS.sh $1 $line | tee $SEGDIR/$line
  110. echo
  111. echo "SEGMENT $line END!"
  112. echo
  113. done < $DATADIR/segs.list
  114.  
  115. rm -rf $DATADIR/segs.list
  116.  
  117. ./SEGMENTS.sh $1 $2 | tee $ARTIFACTDIR/$FILENAME
  118.  
  119. exit 0
Add Comment
Please, Sign In to add comment