여기 내 상황입니다 : 나는이처럼 보이는 프로그램 A가 :RPG 컴파일러는 유형 S를 유형 P로 변환합니까?
Fmfile IF E K DISK USROPN d grue s like(dhseqn) d C *ENTRY PLIST C PARM grue c open mfile c*** do something with grue c close mfile c eval *inlr = *on
dhseqn는 2,0 S 필드입니다.
*RNF7031 DHSEQN P(2,0) 000200 1000002D GRUE P(2,0) 000200D 000500M 000700 000800M BASED(_QRNL_PRM+)
내가 2,0 S로 선언 된 매개 변수를 사용하여 프로그램 A를 호출 할 때, 나는 소수점 데이터 오류가 :
컴파일 목록
나에게 이것을 보여줍니다.예상 되나요? 아니면이 문제가 컴파일러 버그입니까?
실제 질문은 '데이터베이스가 S로 표시되면 DHSEQN이 P로 표시되는 이유는 무엇입니까?' (ASalazar가 답변을 제공했다) – Derek
@Derek RPG 참조는이 시점에서 매우 불분명하며 LIKE()가 사용될 때 차이점을 암시하는 'LIKE 키워드가 지정되지 않은 경우'만 정의한다. 그러나이 경우 실제로 동일합니다. – user2338816