2014-01-07 1 views
1

4 바이트 필드의 2 바이트를 2 바이트의 새 필드로 이동해야합니다. 4 바이트 필드의 마지막 2 바이트를 이동 하시겠습니까?

MOVE C-SERVICE-CYE TO S-CYE. 

나는 연도의 마지막 두 자리가 필요합니다

코드는 내가 사용하고 싶습니다. 예 :

02 S-DATE.        
    10 S-MME PIC X(02).    
    10 FILLER PIC X(01) VALUE '/'. 
    10 S-DDE PIC X(02).    
    10 FILLER PIC X(01) VALUE '/'. 
    10 S-CYE PIC X(02).    

두 번째 데이터 구조 : 2014 년 14

데이터 구조가 될 것

02 C-SERVICE-DATE-E.    
    10 C-SERVICE-CYE PIC X(04). 
    10 C-SERVICE-MME PIC X(02). 
    10 C-SERVICE-DDE PIC X(02). 

답변

5

이 일이 매우 정직 가지 방법이 있습니다. MOVE C-SERVICE-CYE (3:2) TO S-CYE

이 모두 작동하기 때문에 : MOVE C-SERVICE-CYE-YY TO S-CYE

다른 방법 사용 기준 변경입니다 :

02 C-SERVICE-DATE-E.    
    10 C-SERVICE-CYE. 
     15 C-SERVICE-CYE-CC PIC X(02). 
     15 C-SERVICE-CYE-YY PIC X(02). 
    10 C-SERVICE-MME PIC X(02). 
    10 C-SERVICE-DDE PIC X(02). 

그런 다음에 MOVE 문을 수정 :

하나는 소스 변수 선언을 세분화하는 것입니다 여기에서 참조하는 데이터 항목은 DISPLAY 유형입니다. 만약 그들이 숫자 (예 : COMP 무언가) 였다면이 기술은 작동하지 않을 것입니다.

+0

TO합니다. 나는 주어진 점수에 대해 가장 좋은 답을 고르는 법을 결코 알 수 없다. 기껏해야 어려움. –

+0

@DougHauf 걱정하지 마십시오. 당신이 Upvote 어떤 도움이 특정 질문에 가장 도움이 동의하면, 우리는 상관 없어요. 우리는 너무 자주 응답을 주셔서 감사합니다 :-) –

1

실제 예제에서 NealB의 첫 번째 방법을 사용하고 참조 수정을 피하면서 (나는 코드를 모호하게 만든다. 그래서 다음 사람은 그들이 읽을 수 있기 전에 (3 : 2) 무엇인지 찾아야한다. "코드 - 그리고 다음 사람은 몇 달 안에 당신이 될 수 있습니다), 다른 방법이 있습니다.

10 S-CYE PIC 9(02). 

이제 MOVE를 수행하면 컴파일러에서 오른쪽 정렬 및 왼쪽자를 수있는 코드를 생성합니다. 영숫자를 영숫자로 사용하면 왼쪽에서 오른쪽으로 잘 렸습니다.

원본 필드가 "계산"(이진수 또는 포장 된 10 진수)이면 현재 연도에서 "14"를 얻을 수 있습니다.

소스 필드가 표시해야하는 순서대로 발생하고 동일한 데이터 (예제가 아닌)가 포함 된 경우 모든 것을 한 번에 수행 할 수 있습니다.

01 EDITED-DATE-1 PIC XX/XX/XXXX. 
01 EDITED-DATE-2 PIC XXXX/XX/XX. 

지금 당신은 당신이 슬래시를 얻을 수 있습니다 (올해는 위치에 따라) 위 중 하나에 PIC의 X (8) 날짜를 이동할 때. 소스가 "계산"인 경우 PIC의 X를 9로 변경할 수 있습니다.

+0

그리고 이것은 참조 mod보다 분명합니다 ?? –

+0

@JamesAnderson 특히 당신에게 불분명 한 점은 무엇입니까? 나는 기쁘다. 그것들이 모두 나타나면 지시하십시오, 그렇지 않으면 귀하가 느끼는 특정 부분이나 부분들이 불분명합니다. –

+0

아마 당신보다 더 많은 COBOL을 알고 있습니다. 단지 참조 수정이 훨씬 명확하고 컴파일러마다 다른 작업 저장 정의를 사용하는 것보다 COBOL 지식이 덜 필요합니다. –

1

당신은 사용할 수 있습니다 MOVE의 C-SERVICE-CYE (3 : 2) 모두 좋은 답변입니다 S-CYE

+0

NealB는 이미이를 처리했습니다. –

관련 문제