>

코볼 프로그래밍이 처음입니다. 특정 거래에 대해 두 날짜 사이의 데이터를 확인하고 처리하려고합니다 (예 : 코볼을 사용하여 시작 날짜와 날짜). 플랫 파일에 데이터가 있습니다. 시작 날짜와 날짜는 데이터의 일부이므로 특정 계정 번호의 경우 매년 거래가 발생합니다. 이 거래를 시작일부터 현재까지 읽고 일부 필드를 업데이트하고 싶습니다. 문제를 도와주세요.


  • 답변 # 1

    시작 날짜와 종료 날짜를 설정하려면 JCL에서 매개 변수로 전달하거나 해당 날짜를 파일에 넣는 것이 좋습니다. 프로그램에서 해당 날짜에 액세스하면 처리는 다음과 같습니다.

    WS-FROM-INT  = FUNCTION INTEGER-OF-DAY (FROM-DATE)
    WS-UNTIL-INT = FUNCTION INTEGER-OF-DAY (UNTIL-DATE)
    PERFORM UNTIL END-OF-FILE
       WS-TRANS-INT = FUNCTION INTEGER-OF-DAY (TRANS-DATE)
       IF (WS-TRANS-INT >= WS-FROM-INT) AND (WS-TRANS-INT <= WS-UNTIL-INT)
          do whatever processing you want
       END-IF
    END-PERFORM
    
    

    날짜를 정수로 바꾸면 비교가 훨씬 쉬워집니다. 다음은 INTEGER-OF-DATE 함수에 대한 일부 문서입니다. https://www.ibm.com/support/knowledgecenter/en/SSPSQF_9.0.0/com.ibm.etools.iseries.langref.doc/c0925395610.htm

관련 자료

  • 이전 web applications - Visual Studio 2017 업데이트 후 WebConfig에서 더 이상 미리보기 변환이 작동하지 않습니다
  • 다음 duplicates - i-file powershell에서 이중 키 삭제