04-17-2009 6:48 PM
Hi ,
I am trying to read the infotype ( 0041) .
TABLES : pernr, t548t.
infotypes : 0041,
0001.
DATA : BEGIN OF datyp,
dar LIKE p0041-dar01,
dat LIKE p0041-dat01,
END OF datyp.
GET pernr.
rp_provide_from_last p0001 space pn-begda pn-endda.
rp_provide_from_last p0041 space pn-begda pn-endda.
IF pnp-sw-found EQ 0.
REJECT.
ELSE.
DO 12 TIMES VARYING datyp FROM p0041-dar01
NEXT p0041-dar02.
IF dtype-dar IS INITIAL.
EXIT.
ELSE.
...............
ENDIF.
ENDDO.
ENDIF.
I get the following error when I try to compile the Program
P0041-DAR01 and DATYP are type-incompatible.
Can any one tell me where I am going wrong. I have already declared the DATYP
Any help in this regard is appreciated.
Thanks,
Bluesh
Edited by: Bluesh on Apr 17, 2009 1:48 PM
04-17-2009 7:21 PM
HI,
Try like this..
DO 12 TIMES VARYING datyp-dar FROM p0041-dar01 NEXT p0041-dar02.
VARYING datyp-dat FROM p0041-dat01 NEXT p0041-dat02.
ENDDO.
04-17-2009 6:55 PM
04-17-2009 7:12 PM
write the coding as :
data: wf_dar like ps0041-dar01,
wf_dat like ps0041-dat01.
read table it_0041 with key pernr = it_0000-pernr
binary search.
if sy-subrc = 0.
do 12 times
varying wf_dar from it_0041-dar01 next it_0041-dar02
varying wf_dat from it_0041-dat01 next it_0041-dat02.
if wf_dar is initial.
exit.
endif.
case wf_dar.
when 'Z1'.
write wf_dat to it_new-datz1.
endcase.
enddo.
endif.
Changes in your coding ....
TABLES : pernr, t548t.
infotypes : 0041,
0001.
DATA : BEGIN OF datyp,
dar LIKE p0041-dar01,
dat LIKE p0041-dat01,
END OF datyp.
GET pernr.
rp_provide_from_last p0001 space pn-begda pn-endda.
rp_provide_from_last p0041 space pn-begda pn-endda.
IF pnp-sw-found EQ 0.
REJECT.
ELSE.
DO 12 TIMES VARYING datyp-dar FROM p0041-dar01
NEXT p0041-dar02.
IF dtype-dar IS INITIAL.
EXIT.
ELSE.
...............
ENDIF.
ENDDO.
ENDIF.
04-17-2009 7:21 PM
HI,
Try like this..
DO 12 TIMES VARYING datyp-dar FROM p0041-dar01 NEXT p0041-dar02.
VARYING datyp-dat FROM p0041-dat01 NEXT p0041-dat02.
ENDDO.
04-17-2009 8:17 PM
04-17-2009 7:26 PM
Hi,
Try this
INFOTYPES: 0041. DATA: BEGIN OF datespec, dar LIKE p0041-dar01, dat LIKE p0041-dat01, END OF datespec. rp-read-infotype perno 0041 p0041 begin end. DO 12 TIMES VARYING datespec-dar FROM p0041-dar01 NEXT p0041-dar02 VARYING datespec-dat FROM p0041-dat01 NEXT p0041-dat02. IF datespec-dar = type. MOVE datespec-dat TO date. EXIT. ENDIF. ENDDO. IF date IS INITIAL. RAISE no_entry. ENDIF.
Regards
Krishna
04-17-2009 7:27 PM
Hi,
Since the unicode checks are actives you have to code like below:
DO 12 TIMES VARYING datyp-dar FROM p0041-dar01
NEXT p0041-dar02.
IF datyp-dar IS INITIAL.
EXIT.
ELSE.
ENDIF.
ENDDO.
Regards,
Krishnakumar