Facing problem in Fetching Employee details
Hello All,
i need to write a abap coding to fetch the employee details from the corresponding table,i worte a code but its is not fetching the details of the employess in to the output,am sending my code along with this thread its great if any body help me out in ths regard,thanks in advance...
NAME : Chandeep Singh
DESCRIPTION : TO GENERATE SIMPLE REPORT USING HR ABAP
LOGICAl DATABASE- PNP .
REPORT zchandeep_hr_prog_1
LINE-SIZE 200 .
*Database Table
TABLES: pernr, " Pernr structure for Logical database
pa0001, " Actions
pa0002. " Personnel Info
*Infotypes
INFOTYPES: 0001, " Actions
0002. " personnel info
*Variable Declaration
DATA: form_nam LIKE p0001-ename,
v_age(5) TYPE c, "variable for calculating age in days
v_ctr1 TYPE i VALUE 0, "counter
v_ctr2 TYPE i VALUE 0, "counter
var(5) TYPE c , " variable to store btrtl
var1(5) TYPE c . " variable to store werks
*Internal Table Decalartion
DATA: BEGIN OF i_tab1 OCCURS 0,
pernr LIKE pa0001-pernr, "employee number
ename LIKE pa0001-ename, "employee name
begda LIKE pa0002-begda, "employee join date
werks LIKE pa0001-werks, "personnel area
btrtl LIKE pa0001-btrtl, "personnel sub area
persg LIKE pa0001-persg, "employee group
persk LIKE pa0001-persk, "employee sub-group
plans LIKE pa0001-plans, "position
gbdat LIKE p0002-gbdat, "date of birth
END OF i_tab1.
*START-OF-SELECTION
START-OF-SELECTION .
GET pernr .
rp-provide-from-last p0001 space pn-begda pn-endda . " Macro for IFT-0001
rp-provide-from-last p0002 space pn-begda pn-endda . " Macro for IFT-0002
**--> Populate internal table
MOVE p0001-pernr TO i_tab1-pernr .
MOVE p0001-ename TO i_tab1-ename .
MOVE p0002-begda TO i_tab1-begda .
MOVE p0001-werks TO i_tab1-werks .
MOVE p0001-btrtl TO i_tab1-btrtl .
MOVE p0001-persg TO i_tab1-persg .
MOVE p0001-persk TO i_tab1-persk .
MOVE p0001-plans TO i_tab1-plans .
MOVE p0002-gbdat TO i_tab1-gbdat .
**--> Append data to internal table
APPEND i_tab1 .
CLEAR i_tab1 . " Clear header I_TAB1******************************
*END-OF-SELECTION
END-OF-SELECTION.
*****sorting the internal table on personnel area & personnel sub-area
SORT i_tab1 BY werks btrtl.
*TOP_OF_PAGE
PERFORM top_of_page.
*Output Display
LOOP AT I_TAB1.
*for calculating the age in days
v_age = sy-datum - i_tab1-gbdat.
*control break on Personal Sub Area
LOOP.
AT NEW pnpbtrtl .
IF sy-tabix NE 1.
FORMAT COLOR COL_NORMAL ON.
WRITE:/5 'Total Number of Employees for personnel Sub-Area:',
var , 'is ',
v_ctr1.
CLEAR v_ctr1.
FORMAT COLOR OFF.
ENDIF.
ENDAT .
ENDLOOP.
**Control Break on personnel Area
LOOP.
AT NEW pnpwerks.
IF sy-tabix NE 1.
FORMAT COLOR COL_TOTAL ON.
WRITE:/5 'Total Number of Employees for Personal Area: ',
var1 ,'is ', v_ctr2. "color col_total. CLEAR V_CTR2.
SKIP 1.
FORMAT COLOR OFF.
ENDIF.
ENDAT .
WRITE:/5
i_tab1-pernr, "personnel number
16 i_tab1-ename, "emp name
47 i_tab1-begda, "join date
60 v_age, "age in days
74 i_tab1-werks, "P area
84 i_tab1-btrtl, "P sub Area
94 i_tab1-persg, "emp group
104 i_tab1-persk, "emp sub group
114 i_tab1-plans. "position
v_ctr1 = v_ctr1 + 1.
v_ctr2 = v_ctr2 + 1.
var = i_tab1-btrtl .
var1 = i_tab1-werks .
ENDLOOP.
*& Form top_of_page
Header Output
FORM top_of_page.
FORMAT COLOR COL_HEADING ON.
WRITE:/5 'Employee',
16 'Employee',
47 'Join Date',
62 'Age',
74 'Personal',
84 'Personal',
94 'Employee',
104 'Employee',
114 'Position ',
/5 'Number',
16 'Name',
60 '(In Days)',
74 'Area',
84 'Sub-Area',
94 'Group',
104 'Sub-Group'.
FORMAT COLOR OFF.
SKIP 1.
ENDFORM. " top_of_page
After tables pernr.
write this code :
GET PERNR.
and check the program
Regards,
Srinivas
Similar Messages
-
Can anyone pls. help me : facing problem while fetching the data from BAPI
Hi all,
we have installed xMII in a new server. In this new server I am trying to fetch data from a BAPI & write it into a file thru a transaction, but i cant see the data in the tracer, & neither is the file created. But with the same configuration & connection am able to get the data in the old server. Can anyone pls. tell me wat could be the problem?? or is there anything else that we might have forgotten while installing xMII in the new server.
ur help would be greatly appreciated.
Thanks,
Sushma.Hi Ravi,
no am not able to see the table structure also. This is what it is showing in the tracer :
[INFO ]: Execution Started At: 17:24:17
[DEBUG]: 00000.03100 Begin Transaction 'TMP99A51958-5BAE-CDE0-0DB5-A3A8C72BC297'
[DEBUG]: 00000.03100 Begin Sequence Sequence : ()
[DEBUG]: 00000.03100 Begin Action SAPJCOInterface_0 : (SAP JCO Interface)
[DEBUG]: 00006.43700 Connection Took 6406 mS
[DEBUG]: 00009.82800 Function Creation Took 3391 mS
[DEBUG]: 00010.25000 Execution Took 422 mS
[DEBUG]: 00010.25000 End Action SAPJCOInterface_0 : (SAP JCO Interface)
[DEBUG]: 00010.25000 Begin Sequence Sequence_0 : ()
[DEBUG]: 00010.25000 Begin Action Repeater_0 : (Repeater)
[DEBUG]: 00010.26600 End Action Repeater_0 : (Repeater)
[DEBUG]: 00010.26600 End Sequence Sequence_0 : ()
[DEBUG]: 00010.26600 End Sequence Sequence : ()
[DEBUG]: 00010.26600 End Transaction 'TMP99A51958-5BAE-CDE0-0DB5-A3A8C72BC297'
[INFO ]: Execution Completed At: 17:24:28 Elapsed Time was 10235 mS
I doubt the repeater is not working, becoz i checked the JCO connection & thats fine..
Thanks,
Sushma. -
Facing problem in fetching data
hello everyone ,
can anyone help me out frm the problem , i need to fetch data in alv report ( likp-vbeln ,lips-vgbel , likp-kunnr , vbpa-lifnr , vbrp-vgbel,vbuk-fkstk,vbrk-kunrg, vbrk-fkart and lfa1-name1 ) using input parameter lips-vbeln or likp-vbeln .every time i stuck in select querries for fetching fieds of vbpa vbrk vbrp vbuk and lfa1 .
i am new to this forum excuse for any mistake regarding the rules and restriction .
ranjanModerator message - Welcome to SCN.
Please read Please read "The Forum Rules of Engagement" before posting! HOT NEWS!! and How to post code in SCN, and some things NOT to do... and [Asking Good Questions in the Forums to get Good Answers|/people/rob.burbank/blog/2010/05/12/asking-good-questions-in-the-forums-to-get-good-answers] before posting again.
Thread locked.
Rob -
I have Problem in fetching data from CONTROL BLOCK
Sir,
I am facing problem in fetching data from control block.
Asif.is your control-block a filter-block for the detail-block?
Do you want to see only the detail-data of the user-id you have displayed in the master? -
Problem in entering passport details in 0185 IT for korea employees.
Hi Experts,,
I am facing the problem whilw updating passport details in 0185 IT.
Main problem is the subtype ....Passport 01 is not showing up.
In PA30 ,when we want to maintain personal ids...the passport subtype is not showing up.
In Dev ..everything is fine.We can update the data in DEV.Later we moved to qualiity..everthying is moved.But when we want to updfate the passport details..the subtype is not showingup at all.Did we miss anything in configs.
We did configs in tables V_T582l and V_T591a.
Please advice to showup the the subtype of personal ids pertaining to korea.
Regards,
SairamSolved the issue by maintainting korea//Passport in V_T5R05 table
Sairam. -
Facing Problem in Config Archieve through SSH for ASA
HI ,
I am facing problem in Ciscoworks in Fetching config Archieve from Cisco ASA-5510 Adaptive Security Appliance . I am using LMS 3.2 and RME 4.3.1
SSH is enable in the device, and from LMS server I am able to connect through Putty. Also from Management station to Device it showing SSH is up for both version. But from RME its failing Its giving below mentioned error
Device: COGINHYDGCBDFHRTF1 Status: Failed
*** Device Details for COGINHYDGCBDFHRTF1 ***
Protocol ==> Unknown / Not Applicable
Selected Protocols with order ==> SSH,Telnet,TFTP,RCP,SCP,HTTPS
Execution Result:
RUNNING
CM0151 PRIMARY RUNNING Config fetch failed for COGINHYDGCBDFHRTF1 Cause: Couldnot enter ENABLE Mode from USER Mode on 10.241.44.220.TELNET: Failed to establish TELNET connection to 10.241.44.220 - Cause: Connection refused.
Action: Check if protocol is supported by device and required device package is installed. Check device credentials. Increase timeout value, if required.
I have tried from LMS server by telneting to port 22, its giving below output------SSH-1.99-Cisco-1.25
When I have tried to test device credentials for SSH and SSH Enable mode, then below output I am getting. SSH remains blank status.
Device Name
SSH
Enable
by SSH
1.
COGINHYDGCBDFHRTF1
Did Not Try
Pls help to resolve this.Hi,
Take a look at the code you are running on the ASA and see if this bug fits. http://tools.cisco.com/Support/BugToolKit/search/getBugDetails.do?method=fetchBugDetails&bugId=CSCtd67173
Thanks. -
Hi,
Migration Workbench convert the sqlserver code but i am facing problems with StoO_error,StoO_sqlstatus,StoO_fetchstatus.
Please clarify me how to handle this in ORACLE
I need to know the equivalent Oracle code for the Sql Server code.
DELETE FROM User_Rights_Access
WHERE User_ID = p_User_Id;
IF LEN(p_SelectedRights) > 0 THEN
BEGIN
NULL;/*DECLARE CURSOR userselectedrights_cursor */
OPEN userselectedrights_cursor;
FETCH userselectedrights_cursor INTO
t_SelectedRightsID;
IF userselectedrights_cursor%NOTFOUND THEN
StoO_sqlstatus := 2;
StoO_fetchstatus := -1;
ELSE
StoO_sqlstatus := 0;
StoO_fetchstatus := 0;
END IF;
<<i_loop1>>
WHILE StoO_fetchstatus = 0 LOOP
BEGIN
INSERT INTO sa.User_Rights_Access (User_ID, Rights_Id, del_flag)
VALUES (p_User_Id, t_SelectedRightsID, 0);
FETCH userselectedrights_cursor INTO
t_SelectedRightsID;
IF userselectedrights_cursor%NOTFOUND THEN
StoO_sqlstatus := 2;
StoO_fetchstatus := -1;
ELSE
StoO_sqlstatus := 0;
StoO_fetchstatus := 0;
END IF;
END;
END LOOP;
CLOSE userselectedrights_cursor;
NULL;
END;Anu,
I think the declaration of these variable is left out by default as most short procedures do not need them.
Check out the 'Generate Maximal PL/SQL' stored procedure option, which is detailed in the stored procedure option help page. This option can be applied per procedure.
Thank you for your time,
Turloch
Oracle Migration Workbench Team -
How to read IM_ATTABS_TAB structure to get Employee details..
Hello friends,
i am facing difficulty reading IM_ATTABS_TAB for getting employee details..
i need this to code in a BADI for validating Leave request..
i have to extract employee(who after logging in in ESS ,applies for leaves) information such as PERNR leave balance quotas,etc before i can display the suitable message...
Now the structure IM_ATTABS_TAB has PTARQ_ATTABSDATA_TAB as associated type...which has line type as PTARQ_ATTABSDATA_STRUC..
so now,what select statement or query gives me the desired information..
whioch is PERNR,and other leave quotas...Hi bala,
Please tell me ur problem got resolved or not.
As i am also facing the same and it is exactly the same.
Please help me if you are done with the same!!!
Regards,
Sujit -
Facing problem with logo in the PDF attachment when sending mail...
hi friends,
i'm facing problem with logo in the PDF attachment to the mail.
my requirement:
1. enter spool number and mail id in the selection screen.
process:
1. now the program will fetch the spool data and converts it to PDF.
2. but when i'm trying to send mail with this PDF as attachment.
when i open the PDF file from the mail, logo is not coming properly (looks disturbed).
can anyone help me how to resolve this issue...
thanks in advance, murashali.hi dinakar, thanks for your mail...
logo looks good in spool/script/smartform.
even it look good when i download this spool to pdf and to the presentation server as pdf file.
i'm using CONVERT_OTFSPOOLJOB_2_PDF.
when i used CONVERT_ABAPSPOOLJOB_2_PDF, is gives a msg - 'spool number not found'.
here i'm using folloing code to pass pdf to the function module: SO_NEW_DOCUMENT_ATT_SEND_API1.
code:
Transfer the 132-long strings to 255-long strings
lt_mtab_pdf[] = pdf[].
LOOP AT lt_mtab_pdf INTO lwa_mtab_pdf.
TRANSLATE lwa_mtab_pdf USING ' ~'.
CONCATENATE lv_gd_buffer lwa_mtab_pdf INTO lv_gd_buffer.
CLEAR lwa_mtab_pdf.
ENDLOOP.
TRANSLATE lv_gd_buffer USING '~ '.
DO.
lwa_mess_att = lv_gd_buffer.
APPEND lwa_mess_att TO lt_mess_att.
CLEAR lwa_mess_att.
SHIFT lv_gd_buffer LEFT BY 255 PLACES.
IF lv_gd_buffer IS INITIAL.
EXIT.
ENDIF.
ENDDO.
NOTE: problem i believe is with ''. i'm getting this tilt symbol () in my pdf internal table. here in the above code the line TRANSLATE lv_gd_buffer USING '~ ' is changing the existing tilt to space. so my logo is getting disturbed.
even i tried with REPLACE this tilt with other char, but it doent work.
can you give any idea... -
Hello i'm facing problem i downloaded itunes version 11 32bit for windows 7 and after i installing the set up when i opened the iTunes a massages occur saying i tunes could not connect to iTunes store an unknown error occurred (-3212) even though my internet is on
Try this...
Triple click anywhere in the line below to select it and press Ctrl+C to copy it.
cmd /k netsh winsock reset
Press the WinLogoKey+R to open the run dialog, then Ctrl+V to paste, then press enter/return.
You should get something similar to this:
Reboot the computer and the problem should be resolved.
If it doesn't work then perhaps a full tear down and rebuild of iTunes will fix things. See Troubleshooting issues with iTunes for Windows updates for details.
tt2 -
Facing problem in copy of standard SAP program
hi,,,,,,,,,,,,
when i execute this program in production server it displays an error ....i m trying to find out this error but this type(error) i cudnt find plz help me .....
i m sending the documents which i rcvd from the system after the execution of this program.
this program executes perfctlly in developmnt server but it creates problem in production server,,,i searched out the type kkblo_t_sortinfo in the whole program but i cud nt find it ,,,,,,,,,
documents.....
Runtime Errors SYNTAX_ERROR
Date and Time 18.11.2006 12:01:19
ShrtText
Syntax error in program "ZVISA_RM07MLBD ".
What happened?
Error in ABAP application program.
The current ABAP program "????????????????????????????????????????" had to be
terminated because one of the
statements could not be executed.
This is probably due to an error in the ABAP program.
In program "ZVISA_RM07MLBD ", the following syntax error occurred
in the Include "RM07MLBD_FORM_01 " in line 1805:
The type KKBLO_T_SORTINFO" is unknown."
also i m sending the include program ver i m facing problem...*&----
*& Include RM07MLBD_FORM_01 *
correction Aug. 2005 MM "n856424
- the fields "entry time", "entry date", and "User" are "n856424
are not filled filled for price change documents "n856424
MB5B improved regarding accessibilty "n773673
Improvements : March 2003 MM "n599218
- print the page numbers "n599218
- send warning M7 393 when user deletes the initial "n599218
display variant "n599218
- show the current activity and the progress "n599218
contains FORM routines without preprocessor commands and "n547170
no text elements "n547170
*& Form INITIALISIERUNG
Vorbelegung der Anzeigevariante *
form initialisierung.
repid = sy-repid.
variant_save = 'A'.
clear variante.
variante-report = repid.
Default-Variante holen:
def_variante = variante.
call function 'REUSE_ALV_VARIANT_DEFAULT_GET'
exporting
i_save = variant_save
changing
cs_variant = def_variante
exceptions
not_found = 2.
if sy-subrc = 0.
save the initial, e.g. default variant "n599218
move def_variante-variant to alv_default_variant. "n599218
p_vari = def_variante-variant.
endif.
print-no_print_listinfos = 'X'.
endform. " INITIALISIERUNG
*& Form AKTUELLE_BESTAENDE
Ermittlung der aktuellen eigenen Bestände,
d.h. der bewerteten Bestände und des Retourensperrbestandes,
auf Lagerortebene und auf Material- bzw. Chargenebene;
folgende Sonderbestände können gesondert ausgewiesen werden:
Lohnbearbeitung ( Sonderbestandskennzeichen O )
Kundenkonsignation ( " V, W, M )
Lieferantenkonsignation ( " K )
Projektbestand ( " Q )
Kundenauftragsbestand ( " E )
form aktuelle_bestaende.
delete the range tables for the creation of table g_t_organ
if g_t_organ[] is initial. "n433765
refresh : g_0000_ra_werks, g_0000_ra_bwkey, g_0000_ra_bukrs.
clear : g_0000_ra_werks, g_0000_ra_bwkey, g_0000_ra_bukrs.
endif.
if bwbst = 'X'.
select the valuated stocks
perform aktuelle_bst_bwbst.
elseif lgbst = 'X'.
all own stock from storage locations or batches
if xchar = ' '.
perform aktuelle_bst_lgbst_mard.
elseif xchar = 'X'.
perform aktuelle_bst_lgbst_xchar.
endif.
elseif sbbst = 'X'.
special stocks
case sobkz.
when 'O'.
perform aktuelle_bst_sbbst_o.
when 'V' or 'W'.
perform aktuelle_bst_sbbst_v_w.
when 'K' or 'M'.
perform aktuelle_bst_sbbst_k_m.
when 'Q'.
perform aktuelle_bst_sbbst_q.
when 'E'.
perform aktuelle_bst_sbbst_e.
when others.
Angegebener Sonderbestand nicht vorhanden.
message s290.
perform anforderungsbild.
endcase.
endif.
create table g_t_organ with the plants and valuation areas from
the database selection if table g_t_organ is empty
perform f0000_create_table_g_t_organ
using c_no_error.
endform. "aktuelle_bestaende.
*& AKTUELLE_BST_LGBST_MARD
form aktuelle_bst_lgbst_mard.
eigener Bestand auf Lagerortebene -
... auf Materialebene -
select * from mard into corresponding fields of table imard
where werks in g_ra_werks
and lgort in g_ra_lgort
and matnr in matnr.
if sy-subrc ne 0. "no records found ?
message s289.
Kein Material in Selektion vorhanden.
perform anforderungsbild.
endif.
does the user has the the authority for the found entries ?
loop at imard.
perform f9000_auth_plant_check
using imard-werks.
if g_flag_authority is initial.
delete imard.
else.
perform f9200_collect_plant using imard-werks.
perform f9400_material_key using imard-matnr.
endif.
endloop.
describe table imard lines g_f_cnt_lines.
if g_f_cnt_lines is initial. "no records left ?
message s289.
Kein Material in Selektion vorhanden.
perform anforderungsbild.
endif.
if not charg-low is initial or not charg-high is initial.
clear charg.
message w285.
Charge wird zurückgesetzt.
endif.
endform. "aktuelle_bst_lgbst_mard
AKTUELLE_BST_LGBST_XCHAR
form aktuelle_bst_lgbst_xchar.
read the stock table mchb for batches
select * from mchb into corresponding fields of table imchb
where werks in g_ra_werks
and lgort in g_ra_lgort
and matnr in matnr
and charg in charg.
describe table imchb lines g_f_cnt_lines.
if g_f_cnt_lines is initial. "no records found ?
message s821 with matnr werks lgort.
Keine Chargen zu Material & in Werk & Lagerort & vorhanden.
perform anforderungsbild.
endif.
process working table with the batches
loop at imchb.
does the user has the the authority for the found entries ?
perform f9000_auth_plant_check
using imchb-werks.
if g_flag_authority is initial.
delete imchb.
else.
perform f9200_collect_plant using imchb-werks.
perform f9400_material_key using imchb-matnr.
endif.
endloop.
endform. "aktuelle_bst_lgbst_xchar
AKTUELLE_BST_SBBST_O
form aktuelle_bst_sbbst_o.
process Special Stocks with Vendor
Bemerkung: Im Gegensatz zu den anderen Sonderbeständen existieren
der Lohnbearbeitungs- und Kundenkonsignationsbestand
nur auf Werksebene.
select * from mslb into corresponding fields of table xmslb
where werks in g_ra_werks
and matnr in matnr
and charg in charg
and sobkz = 'O'.
if sy-subrc <> 0. "no records found ?
message s289.
Kein Material in Selektion vorhanden.
perform anforderungsbild.
endif.
process the found records special stock vendor
loop at xmslb.
check the authority
perform f9000_auth_plant_check
using xmslb-werks.
if g_flag_authority is initial.
delete xmslb.
else.
fill range table g_0000_ra_werks if it is still empty
perform f9200_collect_plant using xmslb-werks.
perform f9400_material_key using xmslb-matnr.
endif.
endloop.
error, if no records are left
describe table xmslb lines g_f_cnt_lines.
if g_f_cnt_lines is initial.
message s289.
Kein Material in Selektion vorhanden.
perform anforderungsbild.
endif.
sort xmslb.
loop at xmslb.
move-corresponding xmslb to imslb.
collect imslb.
endloop.
free xmslb. refresh xmslb.
if xchar = ' '.
loop at imslb.
move-corresponding imslb to imslbx.
collect imslbx.
endloop.
sort imslbx.
elseif xchar = 'X'.
loop at imslb.
check imslb-charg is initial.
delete imslb.
endloop.
endif.
endform. "aktuelle_bst_sbbst_o.
AKTUELLE_BST_SBBST_V_W
form aktuelle_bst_sbbst_v_w.
Sonderbestand Kundenkonsignation -
elseif sobkz = 'V' or sobkz = 'W'.
select * from msku into corresponding fields of table xmsku
where werks in g_ra_werks
and matnr in matnr
and charg in charg
and sobkz eq sobkz.
if sy-subrc <> 0. "no records found
message s289.
Kein Material in Selektion vorhanden.
perform anforderungsbild.
endif.
process Special Stocks with Customer
loop at xmsku.
perform f9000_auth_plant_check using xmsku-werks.
if g_flag_authority is initial.
delete xmsku.
else.
perform f9200_collect_plant using xmsku-werks.
perform f9400_material_key using xmsku-matnr.
endif.
endloop.
describe table xmsku lines g_f_cnt_lines.
if g_f_cnt_lines is initial. "no records found
message s289.
Kein Material in Selektion vorhanden.
perform anforderungsbild.
endif.
sort xmsku.
loop at xmsku.
move-corresponding xmsku to imsku.
collect imsku.
endloop.
free xmsku. refresh xmsku.
if xchar = ' '.
loop at imsku.
move-corresponding imsku to imskux.
collect imskux.
endloop.
sort imskux.
elseif xchar = 'X'.
loop at imsku.
check imsku-charg is initial.
delete imsku.
endloop.
endif.
if sy-subrc ne 0.
message s042. "#EC * "n443935
Charge ist nicht vorhanden.
perform anforderungsbild.
endif.
endform. "aktuelle_bst_sbbst_v_w
AKTUELLE_BST_SBBST_K_M
form aktuelle_bst_sbbst_k_m.
Sonderbestand Lieferantenkonsignation -
elseif sobkz = 'K' or sobkz = 'M'.
select * from mkol into corresponding fields of table xmkol
where werks in g_ra_werks
and lgort in g_ra_lgort
and matnr in matnr
and charg in charg
and sobkz eq sobkz.
if sy-subrc <> 0. "no records found
message s289.
Kein Material in Selektion vorhanden.
perform anforderungsbild.
endif.
process Special Stocks from Vendor
loop at xmkol.
perform f9000_auth_plant_check using xmkol-werks.
if g_flag_authority is initial.
delete xmkol.
else.
perform f9200_collect_plant using xmkol-werks.
perform f9400_material_key using xmkol-matnr.
endif.
endloop.
describe table xmkol lines g_f_cnt_lines.
if g_f_cnt_lines is initial. "no records found
message s289.
Kein Material in Selektion vorhanden.
perform anforderungsbild.
endif.
sort xmkol.
loop at xmkol.
move-corresponding xmkol to imkol.
collect imkol.
endloop.
free xmkol. refresh xmkol.
if xchar = ' '.
loop at imkol.
move-corresponding imkol to imkolx.
collect imkolx.
endloop.
sort imkolx.
elseif xchar = 'X'.
loop at imkol.
check imkol-charg is initial.
delete imkol.
endloop.
endif.
if sy-subrc ne 0.
message s042. "#EC * "n443935
Charge ist nicht vorhanden.
perform anforderungsbild.
endif.
endform. "aktuelle_bst_sbbst_k_m.
AKTUELLE_BST_SBBST_Q
form aktuelle_bst_sbbst_q.
Projektbestand -
elseif sobkz = 'Q'.
select * from mspr into corresponding fields of table xmspr
where werks in g_ra_werks
and lgort in g_ra_lgort
and matnr in matnr
and charg in charg
and sobkz eq sobkz.
if sy-subrc <> 0. "no record found
message s289.
Kein Material in Selektion vorhanden.
perform anforderungsbild.
endif.
process project stock
loop at xmspr.
perform f9000_auth_plant_check using xmspr-werks.
if g_flag_authority is initial.
delete xmspr.
else.
perform f9200_collect_plant using xmspr-werks.
perform f9400_material_key using xmspr-matnr.
endif.
endloop.
describe table xmspr lines g_f_cnt_lines.
if g_f_cnt_lines is initial. "no record left
message s289.
Kein Material in Selektion vorhanden.
perform anforderungsbild.
endif.
sort xmspr.
loop at xmspr.
move-corresponding xmspr to imspr.
collect imspr.
endloop.
free xmspr. refresh xmspr.
if xchar = ' '.
loop at imspr.
move-corresponding imspr to imsprx.
collect imsprx.
endloop.
sort imsprx.
elseif xchar = 'X'.
loop at imspr.
check imspr-charg is initial.
delete imspr.
endloop.
endif.
endform.: "aktuelle_bst_sbbst_q
AKTUELLE_BST_SBBST_E
form aktuelle_bst_sbbst_e.
Kundenauftragsbestand -
select * from mska into corresponding fields of table xmska
where werks in g_ra_werks
and lgort in g_ra_lgort
and matnr in matnr
and charg in charg
and sobkz eq sobkz.
if sy-subrc <> 0. "no records found
message s289.
Kein Material in Selektion vorhanden.
perform anforderungsbild.
endif.
process Sales Order Stock
loop at xmska.
perform f9000_auth_plant_check using xmska-werks.
if g_flag_authority is initial.
delete xmska.
else.
perform f9200_collect_plant using xmska-werks.
perform f9400_material_key using xmska-matnr.
endif.
endloop.
describe table xmska lines g_f_cnt_lines.
if g_f_cnt_lines is initial. "no records left ?
message s289.
Kein Material in Selektion vorhanden.
perform anforderungsbild.
endif.
sort xmska.
loop at xmska.
move-corresponding xmska to imska.
collect imska.
endloop.
free xmska. refresh xmska.
if xchar = ' '.
loop at imska.
move-corresponding imska to imskax.
collect imskax.
endloop.
sort imskax.
elseif xchar = 'X'.
loop at imska.
check imska-charg is initial.
delete imska.
endloop.
endif.
endform. "aktuelle_bst_sbbst_e
*& Form TABELLEN_LESEN
Lesen der Materialkurztexte (Tabelle MAKT), *
der Mengeneinheiten (Tabelle MARA) und *
Mengen- und Wertfortschreibung zum Material (Tabelle T134M) *
(Letzteres ist zum Aussortieren der unbewerteten bzw. *
kontierten Warenbewegungen notwendig) *
form tabellen_lesen.
if not g_t_mat_key[] is initial. "n451923
select the material masters
select matnr meins mtart from mara
into corresponding fields of table imara
for all entries in g_t_mat_key
where matnr = g_t_mat_key-matnr.
select the short text for all materials
take only the necessary fields "n451923
select matnr maktx from makt "n451923
into corresponding fields of table g_t_makt "n451923
for all entries in g_t_mat_key
where matnr = g_t_mat_key-matnr
and spras = sy-langu.
sort imara by matnr. "n451923
sort g_t_makt by matnr. "n451923
free g_t_mat_key.
endif.
data: begin of k1 occurs 0,
mtart like t134m-mtart,
end of k1.
refresh k1.
loop at imara.
k1-mtart = imara-mtart.
collect k1.
endloop.
if not k1[] is initial. "n451923
select * from t134m
into corresponding fields of table it134m
for all entries in k1 where mtart = k1-mtart
and bwkey in g_ra_bwkey.
endif. "n451923
loop at it134m.
read table organ with key bwkey = it134m-bwkey.
perform f9300_read_organ
using c_bwkey it134m-bwkey.
if sy-subrc ne 0.
delete it134m.
endif.
endloop.
To find postings with valuation string, but without relevance for
the valuated stock, Big-G recommended this logic:
Take lines from MSEG where for the combination BUSTW/XAUTO=XBGBB
there is an entry in T156W with key BSX.
select bustw xbgbb from t156w
into corresponding fields of table it156w
where vorsl = 'BSX'.
sort it156w by bustw xbgbb.
delete adjacent duplicates from it156w.
delete it156w where bustw = space.
endform. " TABELLEN_LESEN
*& Form UNBEWERTET_WEG
Löschen der unbewerteten Materialien aus der internen *
Tabelle IMBEW
form unbewertet_weg.
sort it134m by bwkey mtart. "n451923
"n450764
delete the materials in plants without valuation "n450764
loop at g_t_mbew into g_s_mbew. "n450764
read table imara "n450764
with key matnr = g_s_mbew-matnr "n450764
binary search. "n450764
"n450764
read table it134m with key bwkey = g_s_mbew-bwkey "n450764
mtart = imara-mtart binary search.
if sy-subrc ne 0.
message ...
delete g_t_mbew. "n450764
else.
if it134m-wertu = ' '.
delete g_t_mbew. "n450764
else. "n450764
enrich the entries with the quantity unit "n450764
move imara-meins to g_s_mbew-meins. "n450764
modify g_t_mbew from g_s_mbew "n450764
transporting meins. "n450764
endif.
endif.
endloop.
endform. " UNBEWERTET_WEG
*& Form FI_BELEGE_LESEN *
Lesen der Buchhaltungsbelege *
Beim Erfassen der Werte ist es notwendig, die Buchhaltungsbelege *
zum Material zu lesen, um abweichende Werte zwischen Wareneingang *
und Rechnungseingang sowie Nachbelastungen zu berücksichtigen. *
form fi_belege_lesen.
Not related to note 184465, but a significant performance issue
if ORGAN is large due to many plants/storage locations.
data: begin of t_bwkey occurs 0, "184465
bwkey like bsim-bwkey, "184465
end of t_bwkey. "184465
loop at g_t_organ where keytype = c_bwkey.
move g_t_organ-bwkey to t_bwkey-bwkey.
collect t_bwkey. "184465
endloop. "184465
read table t_bwkey index 1. "184465
check sy-subrc = 0. "184465
select * from bsim "n443935
into corresponding fields of table g_t_bsim_lean "n443935
for all entries in t_bwkey where bwkey = t_bwkey-bwkey
and matnr in matnr
and bwtar in bwtar
and budat >= datum-low.
loop at g_t_bsim_lean into g_s_bsim_lean. "n443935
perform f9300_read_organ
using c_bwkey g_s_bsim_lean-bwkey. "n443935
if sy-subrc is initial.
record found : the user has the authority, go on
move g_s_organ-bukrs to g_s_bsim_lean-bukrs. "n443935
modify g_t_bsim_lean from g_s_bsim_lean "n443935
transporting bukrs. "n451923
create working table with the keys for the FI documents
move-corresponding g_s_bsim_lean "n443935
to g_t_bkpf_key. "n443935
append g_t_bkpf_key.
else.
delete g_t_bsim_lean. "n443935
endif.
endloop.
endform. " FI_BELEGE_LESEN
*& Form BELEGE_SORTIEREN
Die Materialbelege werden anhand des Buchungsdatums sortiert.
Die Materialbelege mit Buchungsdatum zwischen 'datum-high'
und dem aktuellen Datum werden in der internen Tabelle IMSWEG
gesammelt, während die Materialbelege mit Buchungsdatum
zwischen 'datum-low' und 'datum-high' in der internen Tabelle
IMSEG verbleiben.
form belege_sortieren.
aktdat = sy-datlo + 30.
if not ( datum-high is initial or datum-high > aktdat ).
loop at g_t_mseg_lean into g_s_mseg_lean
where budat > datum-high.
move-corresponding g_s_mseg_lean to imsweg.
append imsweg.
delete g_t_mseg_lean.
endloop.
endif.
describe table imsweg lines index_2.
endform. " BELEGE_SORTIEREN
*& Form KONTIERT_AUSSORTIEREN
Aussortierung der kontierten Belegpositionen, *
da diese Mengen nicht bestandsrelevant sind *
form kontiert_aussortieren.
process table g_t_mseg_lean
loop at imseg where kzvbr <> space and "144845
( kzbew = 'B' or kzbew = 'F' ). "144845
read table imara with key matnr = imseg-matnr.
read table it134m with key mtart = imara-mtart.
if not it134m-mengu is initial and not it134m-wertu is initial.
Die Felder 'mengu' und 'wertu' (Mengen- bzw. Wertfortschreibung)
sind ab Release 3.0 D auch in die Tabelle MSEG aufgenommen.
Die Einträge in der Tabelle T134M stellen nach wie vor die generelle
Einstellung dar; auf Positionsebene sind jedoch Abänderungen möglich,
die anhand der Einträge in der Tabelle MSEG nachverfolgt werden
können.
delete imseg.
endif.
endloop.
data : l_f_bwkey like t001k-bwkey. "n497992
sort it134m by bwkey mtart. "n497992
loop at g_t_mseg_lean into g_s_mseg_lean
where kzvbr <> space
and ( kzbew = 'B' or kzbew = 'F' ).
get the valuation area "n497992
if curm = '3'. "n497992
valuation level is company code "n497992
if g_s_mseg_lean-bukrs is initial. "n497992
get the valuation area for this plant "n497992
perform f9300_read_organ "n497992
using c_werks g_s_mseg_lean-werks. "n497992
"n497992
move g_s_organ-bwkey to l_f_bwkey. "n497992
else. "n497992
move g_s_mseg_lean-bukrs to l_f_bwkey. "n497992
endif. "n497992
else. "n497992
valuation level is plant "n497992
move g_s_mseg_lean-werks to l_f_bwkey. "n497992
endif. "n497992
read table imara with key matnr = g_s_mseg_lean-matnr
binary search.
if sy-subrc is initial.
read table it134m with key bwkey = l_f_bwkey "n497992
mtart = imara-mtart "n497992
binary search.
if sy-subrc is initial.
if not it134m-mengu is initial and
not it134m-wertu is initial.
delete g_t_mseg_lean.
endif.
endif.
else.
delete g_t_mseg_lean.
endif.
endloop.
endform. " KONTIERT_AUSSORTIEREN
*& Form BELEGE_ERGAENZEN (engl. enrich documents)
Material documents and FI documents from BSIM are merged together.
Complications:
- A material document can have more than one FI document.
- There are FI documents without material documnts
- There are material documents without FI documents
- The document type is customizeable
- There is no link from the materia document position to
the FI document entry in BSIM (except URZEILE, but this
can be filled incorrectly)
form belege_ergaenzen. "Version from note 204872
- show the current activity and the progress "n599218
call function 'SAPGUI_PROGRESS_INDICATOR' "n599218
exporting "n599218
text = text-061. "Reading FI documents "n599218
Eliminate material documents with valuation string, but without
relevance to the valuated stock. IT156W contains all valuation
strings with posting key BSX. XBGBB says: "I am an accrural posting".
For more details please ask Big-G.
loop at g_t_mseg_lean into g_s_mseg_lean.
special processing for tied empties active ? "n497992
if not g_cust_tied_empties is initial. "n497992
look for MM documents with xauto = L and change "n497992
indicators "n497992
case g_s_mseg_lean-xauto. "n497992
when 'X'. "n497992
when space. "n497992
when others. "n547170
range table g_ra_xauto contains the special "n547170
indicators for the transfer movements of the "n547170
tied empties "n547170
if g_s_mseg_lean-xauto in g_ra_xauto. "n547170
move g_s_mseg_lean-xauto "n497992
to g_s_mseg_lean-retail. "n497992
clear g_s_mseg_lean-xauto. "n497992
modify g_t_mseg_lean from g_s_mseg_lean "n497992
transporting xauto retail. "n497992
endif. "n547170
endcase. "n497992
endif. "n497992
read table it156w with key
bustw = g_s_mseg_lean-bustw
xbgbb = g_s_mseg_lean-xauto
transporting no fields
binary search.
if sy-subrc <> 0.
delete g_t_mseg_lean.
else. "n443935
enrich the current entry with the company code "n443935
perform f9300_read_organ "n443935
using c_werks g_s_mseg_lean-werks. "n443935
"n443935
check : sy-subrc is initial. "n443935
move g_s_organ-bukrs to g_s_mseg_lean-bukrs. "n443935
modify g_t_mseg_lean from g_s_mseg_lean "n443935
transporting bukrs. "n451923
endif.
endloop.
For all available FI documents from BSIM, read the header data
from BKPF to get the link to the originating material document.
if not g_t_bkpf_key[] is initial.
look for the header of the matching FI documents
sort g_t_bkpf_key by bukrs belnr gjahr.
delete adjacent duplicates from g_t_bkpf_key.
save result from database selection into global hashed "n856424
table g_t_bkpf "n856424
select * from bkpf "n856424
into corresponding fields of table g_t_bkpf "n856424
for all entries in g_t_bkpf_key
where bukrs = g_t_bkpf_key-bukrs
and belnr = g_t_bkpf_key-belnr
and gjahr = g_t_bkpf_key-gjahr.
if sy-subrc is initial.
create working table l_t_keytab_m
free g_t_bkpf_key.
loop at g_t_bsim_lean into g_s_bsim_lean. "n443935
enrich the working table g_t_bsim_lean with the "n443935
MM doc info "n443935
"n443935
look for the matching FI document header "n443935
read table g_t_bkpf assigning "n856424
with key bukrs = g_s_bsim_lean-bukrs "n443935
belnr = g_s_bsim_lean-belnr "n443935
gjahr = g_s_bsim_lean-gjahr. "n443935
"n443935
if sy-subrc is initial. "n443935
enrich table G_T_BSIM_LEAN with the MM doc "n443935
consider only FI docs created by MM docs here "n856424
check :Hi Ravi,
possibly a service pack has been installed just in the time when you created the copy. I found
data: lt_sort type kkblo_t_sortinfo. "n890109
in the include mentioned on our system. Please check if the includes are identical in development and production server (remote-compare from editor).
But we also have a copy of this in our system. In the copy I found type name like alv_type_sortinfo but no kkblo_t_sortinfo.
Note KKBLO was the predecessor of ALV.
Must have to dio something with version changed by service pack.
Regards,
Clemens -
Facing problem during uploadation of Routing data using CA01-BDC - URGENT
Dear All,
When I am trying to upload Routing data using CA01 in the Table Control scenario, then I am facing problem as my last 2 records are not getting uploaded from my Test file.
For example, I am having 47 records in my Test File and after setting Default size parameters (to avoid screen resolution problem)
I have 15 table control line items data per page. The Page down logic ('=P+') is working fine, but my below BDC code failed to take
the remainder last 2 records from the Test File.
Analysis: When I am running my Call Transaction bdc in foreground, then the 1st page down occurs after 15th record, 2nd page down occurs after 29th record( as in Table Control 1st pages 15th record is coming on the Top of 2nd page). 3rd page down occurs after 43rd record
(as 2nd pages 29th record is coming on the top of 3rd page). In the 4th Table Control Page 43rd record of previous page is coming on top, and then its taking 44th & 45th records from the Test File and then it is triggering SAVE (=BU). Thus, our last 2 records
(i.e. 46th, 47th record) are not getting uploaded in the routing screen from our Test File.
If anybody has encountered this scenario previously, please help me URGENTLY in fixing the bugs here. Its VERY, VERY URGENT
FYI. For others 45 successful records already uploaded, all the screen fields values are coming properly in the routing screen, and here there is no issue.
Thanks very much
Thanks & Regards
Sudipta Project Lead
Volvo Client Location
I am pasting my BDC source code below:
REPORT ZRT1_UPLOAD_CA01_F
NO STANDARD PAGE HEADING
LINE-SIZE 255.
I N C L U D E S *
Include for Data Declarations
INCLUDE zrout_top.
Include for Forms
INCLUDE zrout_form.
INCLUDE zrout_include_f_ca01.
*AT SELECTION-SCREEN ON VALUE-REQUEST FOR <field>
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FILE.
Attaching F4 help with filename
PERFORM F1001_GET_F4.
S T A R T - O F - S E L E C T I O N *
START-OF-SELECTION.
Perform to read the input file
PERFORM f_read_file.
Perform to fill the BDC data
PERFORM f_fill_bdctab.
E N D - O F - S E L E C T I O N *
END-OF-SELECTION.
FREE: i_bdcdata,
i_messtab,
i_record.
x----
*& Include ZROUT_TOP *
D A T A B A S E T A B L E S *
TABLES: t100. "Messages
D A T A D E C L A R A T I O N S *
T A B L E T Y P E S *****************************
For input data
TYPES: BEGIN OF ty_record,
matnr(18), "Material Number
werks(4), "Plant
verwe(3), "Usage
statu(3), "Status
arbpl(8), "Work Center
steus(4), "Control Key
ltxa1(40), "Description of Operation
bmsch(13), "Base Quantity
meinh(3), "Unit of Measure
vgw01(11), "Machine
vge01(3), "Unit of measure of activity
END OF ty_record.
I N T E R N A L T A B L E S ***********************
Internal Table for input file name
DATA: i_file_tab TYPE STANDARD TABLE OF sdokpath INITIAL SIZE 0.
Internal Table for BDC Data
DATA: i_bdcdata TYPE STANDARD TABLE OF bdcdata INITIAL SIZE 0.
Internal Table for BDC Messages
DATA: i_messtab TYPE STANDARD TABLE OF bdcmsgcoll INITIAL SIZE 0.
Internal Table for Input file
DATA: i_record TYPE STANDARD TABLE OF ty_record INITIAL SIZE 0.
W O R K A R E A S *************************
Work Area for input file name
DATA: wa_file_tab LIKE sdokpath.
Work Area for BDC Data
DATA: wa_bdcdata LIKE bdcdata.
Work Area for BDC Messages
DATA: wa_messtab LIKE bdcmsgcoll.
Work Area for Input file
DATA: wa_record TYPE ty_record.
V A R I A B L E S ****************************
DATA: v_filename TYPE string,
v_fnam(40) TYPE c.
DATA: wa_opt TYPE ctu_params.
C O N S T A N T S ***************************
CONSTANTS: c_werks TYPE rc27m-werks VALUE 'tp',
c_steus TYPE plpod-steus VALUE 'PP01'.
*Selection Screen.
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
PARAMETERS:
Input file name
P_FILE TYPE rlgrap-filename OBLIGATORY. " DEFAULT 'C:\'.
SELECTION-SCREEN END OF BLOCK B1.
x----
*& Include ZROUT_FORM *
*& Form f_fill_bdctab
Form to fill the BDC Data
FORM f_fill_bdctab.
TABLES mapl. "Assignment of Task Lists to Materials
DATA: l_cnt_item(3) TYPE n VALUE 1. "Line item counter
DATA: first(3) TYPE n VALUE 16. "Line item counter
DATA: next(3) TYPE n . "Line item counter
DATA: lin(3) TYPE n . "Line item counter
DATA: l_v_bmsch(13), "Base qty
l_v_meinh(3), "Unit of Measure
l_v_vgw01(11), "Machine
l_v_vgw02(11), "Labour
l_v_vge01(3). "Unit of measure of activity
DATA l_v_nextline TYPE sy-tabix.
DATA wa_temp TYPE ty_record.
Initialize Counter
l_cnt_item = 1.
SORT i_record BY matnr.
LOOP AT i_record INTO wa_record.
AT NEW matnr.
REFRESH: i_bdcdata,
i_messtab.
SET PARAMETER ID 'PLN' FIELD space.
SET PARAMETER ID 'PAL' FIELD space.
PERFORM f_bdc_dynpro USING 'SAPLCPDI' '1010'.
PERFORM f_bdc_field USING 'BDC_OKCODE'
'/00'.
Material Number
PERFORM f_bdc_field USING 'RC27M-MATNR'
wa_record-matnr.
Plant
PERFORM f_bdc_field USING 'RC27M-WERKS'
c_werks.
PERFORM f_bdc_field USING 'RC271-PLNNR'
Check if routing already exits for the material
SELECT * FROM mapl
INTO mapl
WHERE matnr EQ wa_record-matnr
AND werks EQ c_werks
AND plnty EQ 'N'.
IF sy-subrc EQ 0.
PERFORM f_bdc_dynpro USING 'SAPLCPDI' '1200'.
PERFORM f_bdc_field USING 'BDC_OKCODE'
'=ANLG '.
ENDIF.
ENDSELECT.
perform f_bdc_dynpro USING 'SAPLCPDA' '1200'.
perform f_bdc_field USING 'BDC_OKCODE'
'=VOUE'.
Group Counter
perform f_bdc_field USING 'PLKOD-PLNAL'
Usage
PERFORM f_bdc_field USING 'PLKOD-VERWE'
'1'.
Status
PERFORM f_bdc_field USING 'PLKOD-STATU'
'4'.
ENDAT.
PERFORM f_bdc_dynpro USING 'SAPLCPDI' '1400'.
Check if page is full
IF l_cnt_item EQ '16'.
Page down
PERFORM f_bdc_field USING 'BDC_OKCODE'
'=P+'.
l_cnt_item = 1.
ELSE.
PERFORM f_bdc_field USING 'BDC_OKCODE'
'/00'.
ENDIF.
CLEAR v_fnam.
Populate item level details
Work Center
CONCATENATE 'PLPOD-ARBPL(' l_cnt_item ')' INTO v_fnam.
PERFORM f_bdc_field USING v_fnam
wa_record-arbpl.
Control Key
CONCATENATE 'PLPOD-STEUS(' l_cnt_item ')' INTO v_fnam.
PERFORM f_bdc_field USING v_fnam
c_steus.
Description of Operation
CONCATENATE 'PLPOD-LTXA1(' l_cnt_item ')' INTO v_fnam.
PERFORM f_bdc_field USING v_fnam
wa_record-ltxa1.
Base Quantity
CONCATENATE 'PLPOD-BMSCH(' l_cnt_item ')' INTO v_fnam.
PERFORM f_bdc_field USING v_fnam
wa_record-bmsch.
Unit of Measure
CONCATENATE 'PLPOD-MEINH(' l_cnt_item ')' INTO v_fnam.
PERFORM f_bdc_field USING v_fnam
wa_record-meinh.
Machine
CONCATENATE 'PLPOD-VGW01(' l_cnt_item ')' INTO v_fnam.
PERFORM f_bdc_field USING v_fnam
wa_record-vgw01.
Labour
CONCATENATE 'PLPOD-VGW02(' l_cnt_item ')' INTO v_fnam.
PERFORM f_bdc_field USING v_fnam
wa_record-vgw02.
Unit of measure of activity
CONCATENATE 'PLPOD-VGE01(' l_cnt_item ')' INTO v_fnam.
PERFORM f_bdc_field USING v_fnam
wa_record-vge01.
l_cnt_item = l_cnt_item + 1.
CLEAR wa_record.
AT END OF matnr.
PERFORM f_bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM f_bdc_field USING 'BDC_OKCODE'
'=BU'.
wa_opt-DISMODE = 'A'.
wa_opt-DEFSIZE = 'X'.
wa_opt-UPDMODE = 'S'.
PERFORM f_bdc_transaction USING 'CA01'.
Initialize Counter
l_cnt_item = 1.
ENDAT.
ENDLOOP.
ENDFORM. " f_fill_bdctab
x----
*& Include ZROUT_INCLUDE_F_CA01 *
*& Form f_read_file
Form to read the file from presentation server
FORM f_read_file .
To get the file name
DATA l_v_file TYPE string.
l_v_file = P_FILE.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
filename = l_v_file
filetype = 'ASC'
has_field_separator = 'X'
TABLES
data_tab = i_record
EXCEPTIONS
file_open_error = 1
file_read_error = 2
no_batch = 3
gui_refuse_filetransfer = 4
invalid_type = 5
no_authority = 6
unknown_error = 7
bad_data_format = 8
header_not_allowed = 9
separator_not_allowed = 10
header_too_long = 11
unknown_dp_error = 12
access_denied = 13
dp_out_of_memory = 14
disk_full = 15
dp_timeout = 16
OTHERS = 17.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
ENDIF.
ENDFORM. " f_read_file
*& Form f_bdc_dynpro
Form to populate BDC Tab for new screen
-->fp_program Screen program name
-->fp_dynpro Screen Number
Start new screen *
FORM f_bdc_dynpro USING fp_program fp_dynpro.
CLEAR wa_bdcdata.
wa_bdcdata-program = fp_program.
wa_bdcdata-dynpro = fp_dynpro.
wa_bdcdata-dynbegin = 'X'.
APPEND wa_bdcdata TO i_bdcdata.
ENDFORM. "f_bdc_dynpro
*& Form f_bdc_field
Insert field *
FORM f_bdc_field USING fp_fnam fp_fval.
IF NOT fp_fval IS INITIAL.
CLEAR wa_bdcdata.
wa_bdcdata-fnam = fp_fnam.
wa_bdcdata-fval = fp_fval.
APPEND wa_bdcdata TO i_bdcdata.
ENDIF.
ENDFORM. "f_bdc_field
*& Form f_bdc_transaction
Call transaction and error handling
-->fp_tcode Transaction code
FORM f_bdc_transaction USING fp_tcode.
DATA: l_mstring(480),
l_color TYPE i,
l_mode TYPE c.
REFRESH i_messtab.
CALL TRANSACTION fp_tcode USING i_bdcdata
OPTIONS FROM wa_opt
MESSAGES INTO i_messtab.
Messages during upload
LOOP AT i_messtab INTO wa_messtab.
CASE wa_messtab-msgtyp.
WHEN 'S'.
l_color = 5.
WHEN 'E'.
l_color = 6.
WHEN 'W'.
l_color = 3.
ENDCASE.
FORMAT COLOR = l_color.
SELECT SINGLE * FROM t100 WHERE sprsl = wa_messtab-msgspra
AND arbgb = wa_messtab-msgid
AND msgnr = wa_messtab-msgnr.
IF sy-subrc = 0.
l_mstring = t100-text.
IF l_mstring CS '&1'.
REPLACE '&1' WITH wa_messtab-msgv1 INTO l_mstring.
REPLACE '&2' WITH wa_messtab-msgv2 INTO l_mstring.
REPLACE '&3' WITH wa_messtab-msgv3 INTO l_mstring.
REPLACE '&4' WITH wa_messtab-msgv4 INTO l_mstring.
ELSE.
REPLACE '&' WITH wa_messtab-msgv1 INTO l_mstring.
REPLACE '&' WITH wa_messtab-msgv2 INTO l_mstring.
REPLACE '&' WITH wa_messtab-msgv3 INTO l_mstring.
REPLACE '&' WITH wa_messtab-msgv4 INTO l_mstring.
ENDIF.
CONDENSE l_mstring.
WRITE: / wa_messtab-msgtyp, l_mstring(250).
ELSE.
WRITE: / wa_messtab.
ENDIF.
FORMAT COLOR OFF.
ENDLOOP.
SKIP.
ENDFORM. " f_bdc_transaction
FORM F1001_GET_F4.
CALL FUNCTION 'KD_GET_FILENAME_ON_F4'
EXPORTING
PROGRAM_NAME = SY-REPID
DYNPRO_NUMBER = SY-DYNNR
FIELD_NAME = P_FILE
CHANGING
FILE_NAME = P_FILE
EXCEPTIONS
MASK_TOO_LONG = 1
OTHERS = 2.
IF SY-SUBRC <> 0.
File is not selected
MESSAGE I000 WITH TEXT-M01.
ENDIF.
ENDFORM. " F1001_GET_F4Sudipta,
Would request you to post this to ABAP-Forum for Immediate response.
I had this problem, but the ABAP guy did something to correct this...it was more of screen resoultion difference between the recorded system and uploading system. Please try to use the same system which was used to record and try.
Regards,
Prasobh -
Problem in Creating Employee as a supplier in backend by AP supplier
Hi friends,
Im facing issue in creating Employee as a supplier in backend through AP supplier interface, as im getting the below error like
Employee_id is invalid and Employee info is invalidThis is the codings that i followed to perform that interface, but it didnt worked it seems.
DECLARE
L_VENDOR_REC_TYPE AP_VENDOR_PUB_PKG.R_VENDOR_REC_TYPE;
L_SUP_SEQ number;
L_MSG_COUNT NUMBER;
L_MSG_DATA VARCHAR2 (4000) := '';
L_RETURN_STATUS VARCHAR2 (1);
L_VENDOR_ID AP_SUPPLIERS.VENDOR_ID%TYPE;
L_PARTY_ID NUMBER;
BEGIN
SELECT AP_SUPPLIERS_INT_S.NEXTVAL INTO L_SUP_SEQ FROM DUAL;
L_VENDOR_REC_TYPE.VENDOR_NAME := 'Terrence Schreiber';
L_VENDOR_REC_TYPE.EMPLOYEE_ID := 18;
-- L_VENDOR_REC_TYPE.segment1 := 18;
L_VENDOR_REC_TYPE.VENDOR_TYPE_LOOKUP_CODE := 'EMPLOYEE';
L_VENDOR_REC_TYPE.INVOICE_CURRENCY_CODE := 'INR';
L_VENDOR_REC_TYPE.PAYMENT_CURRENCY_CODE := 'INR';
L_VENDOR_REC_TYPE.TERMS_NAME := 'N30';
L_VENDOR_REC_TYPE.VENDOR_INTERFACE_ID := L_SUP_SEQ;
-- l_vendor_rec_type.party_id := 6487;
AP_VENDOR_PUB_PKG.CREATE_VENDOR (
P_API_VERSION => 1.0,
P_INIT_MSG_LIST => FND_API.G_FALSE,
P_COMMIT => FND_API.G_FALSE,
P_VALIDATION_LEVEL => FND_API.G_VALID_LEVEL_FULL,
X_RETURN_STATUS => L_RETURN_STATUS,
X_MSG_COUNT => L_MSG_COUNT,
X_MSG_DATA => L_MSG_DATA,
P_VENDOR_REC => L_VENDOR_REC_TYPE,
X_VENDOR_ID => L_VENDOR_ID,
X_PARTY_ID => L_PARTY_ID
commit;
DBMS_OUTPUT.put_line ('Vendor Return Status ---> ' || L_RETURN_STATUS);
DBMS_OUTPUT.put_line ('Vendor Message Count ---> ' || L_MSG_COUNT);
DBMS_OUTPUT.put_line ('Vendor ID --->' || L_VENDOR_ID);
DBMS_OUTPUT.put_line ('Party ID --->' || L_PARTY_ID);
IF L_MSG_COUNT = 1
THEN
DBMS_OUTPUT.put_line ('Vendor Message Data ---> ' || L_MSG_DATA);
ELSIF L_MSG_COUNT > 1
THEN
FOR I IN 1 .. L_MSG_COUNT
LOOP
DBMS_OUTPUT.put_line(I || '. '
|| SUBSTR (
FND_MSG_PUB.GET (
P_ENCODED => FND_API.G_FALSE
1,
255
END LOOP;
END IF;
END;
Also i referred for the above error in the metalink with the following ID, that also dint worked
[ID 1400877.1
[ID 977651.1 ]Can friends, anyone help me to solve this problem.
Thanks
Brgds,
MiniHi
Navigation: Supplier > Entry > Create Supplier > Employee Name
Responsibility: Payable Manager
Regards
Senthilkumar C
Edited by: Senthilkumar Chellamuthu on Jul 24, 2012 3:16 PM -
Hi
I have a table which contains one foreign key(say function_id) and I made a composite primary key in my table which is the combination of two fields (say function_id,groups)..so I dont use any automatic generated id in this table..I did not have any problem in inserting the details...But I got a problem in updating the details..i.e I want to fetch the details(group,function_id)...the problem is that I got 'no data found error' while fetching...can anyone say what condition have I to give to fetch the details....
Thanks in advance
FazilaHi
I have a table which contains one foreign key(say function_id) and I made a composite primary key in my table which is the combination of two fields (say function_id,groups)..so I dont use any automatic generated id in this table..I did not have any problem in inserting the details...But I got a problem in updating the details..i.e I want to fetch the details(group,function_id)...the problem is that I got 'no data found error' while fetching...can anyone say what condition have I to give to fetch the details....
Thanks in advance
Fazila -
Employee details in SAP ABAP Hr
hi folks,
do any one hav done Report -Employee details in SAP ABAP Hr.check this code
* INFOTYPES *
INFOTYPES : 0000, " Actions
0001, " Organizaiton Assignment
0002, " Personnel Data
0008, " Basic Pay
0022, " Education
0025, " Appraisals
0077, " Additional Personal Data
2001, " Absences
9002, " Additional Personal Data
9545, " Discipline data
0000 NAME INT_PROM,
0000 NAME INT_CHGPY,
0302.
* INCLUDES *
* TABLES *
TABLES : PERNR.
* CONSTANTS *
CONSTANTS : C_ONE TYPE CHAR1 VALUE '1',
C_EARLY TYPE CHAR1 VALUE 'E',
C_NEW TYPE CHAR1 VALUE 'N',
C_EARLYDT TYPE SY-DATUM VALUE '20000501',
C_JAN TYPE CHAR2 VALUE '01',
C_FEB TYPE CHAR2 VALUE '02',
C_MAR TYPE CHAR2 VALUE '03',
C_AWL TYPE CHAR3 VALUE 'AWL',
C_LWP TYPE CHAR3 VALUE 'LWP'.
* TYPES *
TYPE-POOLS: SLIS. " ALV Type Pool
TYPES :
BEGIN OF T_DISCACT,
PERNR TYPE CHAR8,
COMM1 TYPE CHAR1,
DESCRI TYPE CHAR40,
COMM2 TYPE CHAR1,
MDATE TYPE CHAR10,
END OF T_DISCACT,
BEGIN OF T_INCRE,
PERNR TYPE CHAR8,
INCR1 TYPE CHAR10,
INCR2 TYPE CHAR10,
INCR3 TYPE CHAR10,
END OF T_INCRE,
BEGIN OF T_OUTPUT,
PERNR TYPE CHAR8,
NAME TYPE CHAR40,
DESIG TYPE CHAR40,
PESUB TYPE CHAR15,
ORGUN TYPE CHAR40,
COSTC TYPE CHAR20,
ETHIC TYPE CHAR2,
CPCODE TYPE ZCCODE,
GRADE TYPE CHAR8,
*** TYPE CHAR6,
DOB TYPE CHAR10,
DOJ TYPE CHAR10,
QUAL1 TYPE CHAR30,
QUAL2 TYPE CHAR30,
QUAL3 TYPE CHAR30,
QUAL4 TYPE CHAR30,
QUAL5 TYPE CHAR30,
LPROM TYPE CHAR10,
PROMD TYPE CHAR10,
PROMT TYPE CHAR1,
NOYRS TYPE CHAR2,
AWL TYPE CHAR9,
LWP TYPE CHAR9,
APPR1 TYPE CHAR9,
APPR2 TYPE CHAR9,
APPR3 TYPE CHAR9,
APPR4 TYPE CHAR9,
APPR5 TYPE CHAR9,
DISCI TYPE CHAR57,
END OF T_OUTPUT.
DATA : W_OUTPUT TYPE T_OUTPUT.
TYPES : BEGIN OF T_FILE.
INCLUDE STRUCTURE W_OUTPUT.
TYPES : INCR1 TYPE CHAR10,
INCR2 TYPE CHAR10,
INCR3 TYPE CHAR10,
END OF T_FILE.
DATA : W_FILE TYPE T_FILE.
TYPES : BEGIN OF T_EXCEL.
INCLUDE STRUCTURE W_FILE.
TYPES : END OF T_EXCEL.
* INTERNAL TABLES *
DATA : INT_NONEXE TYPE STANDARD TABLE OF ZHRT007 WITH HEADER LINE,
INT_OUTPUT TYPE STANDARD TABLE OF T_OUTPUT WITH HEADER LINE,
INT_DISCACT TYPE STANDARD TABLE OF T_DISCACT WITH HEADER LINE,
INT_QUALFI TYPE STANDARD TABLE OF T518B WITH HEADER LINE,
INT_INCRE TYPE STANDARD TABLE OF T_INCRE WITH HEADER LINE,
INT_DISCIP TYPE STANDARD TABLE OF ZHRT004 WITH HEADER LINE,
INT_PESUB TYPE STANDARD TABLE OF T001P WITH HEADER LINE,
INT_COSTC TYPE STANDARD TABLE OF CSKT WITH HEADER LINE,
INT_EXCEL TYPE STANDARD TABLE OF T_EXCEL WITH HEADER LINE,
EVENT TYPE SLIS_T_EVENT WITH HEADER LINE,
LISTHEAD TYPE SLIS_T_LISTHEADER WITH HEADER LINE.
* VARIABLES *
DATA : W_HIREDATE TYPE BEGDA,
W_WAGEGRP TYPE TRFGR,
W_CPCODE TYPE ZCCODE,
W_CAREERCD TYPE CHAR6,
W_PROMTYPE TYPE ZTSTYPE,
W_NOOFYRS TYPE ZNOYRS,
W_LASTPROM TYPE CHAR10,
W_PROMDATE TYPE BEGDA,
W_YEAR TYPE CHAR4,
W_APYEAR TYPE CHAR4,
W_APPRST TYPE SY-DATUM,
W_DISDATE TYPE ENDDA,
W_APPREND TYPE ENDDA,
W_ABSST TYPE ENDDA,
W_ABSEND TYPE ENDDA,
W_ABSYR TYPE CHAR4,
W_MONTH(2) TYPE N,
W_AWL TYPE CHAR9,
W_LWP TYPE CHAR9,
W_DISCI TYPE T_OUTPUT-DISCI,
W_ONE(2) TYPE N VALUE '01',
W_CURDATE TYPE CHAR10,
W_HEADING TYPE LVC_TITLE.
* SELECTION SCREEN *
SELECTION-SCREEN BEGIN OF BLOCK FRM1 WITH FRAME TITLE TEXT-001.
SELECT-OPTIONS:
S_WAGRP FOR P0008-TRFGR OBLIGATORY,
S_FROM FOR P0000-BEGDA OBLIGATORY NO-EXTENSION.
SELECTION-SCREEN END OF BLOCK FRM1.
* Selection screen serach help for wage groups.
INCLUDE : ZHRI0003.
* AT SELECTION SCREEN *
* START OF SELECTION *
START-OF-SELECTION.
PERFORM PU_EXEUTIVES_PROM.
IF S_FROM-HIGH IS INITIAL.
S_FROM-HIGH = SY-DATUM.
ENDIF.
*Fetching employee data for all infotypes.
GET PERNR.
PERFORM PU_DATA_RETRIEVAL.
* START OF SELECTION *
END-OF-SELECTION.
PERFORM PU_FINAL_TABLE.
PERFORM PU_GRID_DISPLAY.
PERFORM PU_FREE_TABLES.
* SUBROUTINES *
*& Form PU_DATA_RETRIEVAL
FORM PU_DATA_RETRIEVAL .
* To find out date of join for employee
PERFORM PU_DATA_OF_JOIN.
* Employee Personnel data
RP_PROVIDE_FROM_LAST P0002 SPACE PN-BEGDA PN-ENDDA.
IF PNP-SW-FOUND NE C_ONE.
REJECT.
ENDIF.
* Employee Name into output table
INT_OUTPUT-NAME = P0002-VORNA.
* INT_OUTPUT-DOB = P0002-GBDAT.
PERFORM PU_DATE_CONVERSION USING P0002-GBDAT
CHANGING INT_OUTPUT-DOB.
IF P0002-GESCH EQ 1.
INT_OUTPUT-*** = 'Male'.
ELSE.
INT_OUTPUT-*** = 'Female'.
ENDIF.
* Fetching employees from employee sub goup of Non Executive
RP_PROVIDE_FROM_LAST P0001 SPACE PN-BEGDA PN-ENDDA.
IF PNP-SW-FOUND NE C_ONE.
REJECT.
ENDIF.
IF P0001-PERSK EQ '30' OR P0001-PERSK EQ '20'.
* Position for employee into output table
PERFORM PU_POSTION_TEXT.
ELSE.
REJECT.
ENDIF.
* Position for employee into output table
PERFORM PU_POSTION_TEXT.
* Persoonel Sub Area text .
READ TABLE INT_PESUB WITH KEY WERKS = P0001-WERKS
BTRTL = P0001-BTRTL.
IF SY-SUBRC EQ 0.
INT_OUTPUT-PESUB = INT_PESUB-BTEXT.
ENDIF.
READ TABLE INT_COSTC WITH KEY KOSTL = P0001-KOSTL.
IF SY-SUBRC EQ 0.
INT_OUTPUT-COSTC = INT_COSTC-KTEXT.
ENDIF.
* Fetching employees from Additional Personal Data
RP_PROVIDE_FROM_LAST P0077 SPACE PN-BEGDA PN-ENDDA.
IF PNP-SW-FOUND EQ C_ONE.
* Ethnic origin of employee into output table
INT_OUTPUT-ETHIC = P0077-RACKY.
ENDIF.
* Selecting data from basic pay last record with wage group
RP_PROVIDE_FROM_LAST P0008 SPACE PN-BEGDA PN-ENDDA.
IF PNP-SW-FOUND NE C_ONE.
REJECT.
ELSE.
W_WAGEGRP = P0008-TRFGR.
* Employee Pay Scale Group into output table
INT_OUTPUT-GRADE = P0008-TRFGR.
ENDIF.
* Selecting data from Education with wage group
SORT P0022 BY BEGDA.
PROVIDE * FROM P0022 BETWEEN PN-BEGDA AND PN-ENDDA.
IF SY-TABIX EQ 1.
READ TABLE INT_QUALFI WITH KEY AUSBI = P0022-AUSBI.
IF SY-SUBRC EQ 0.
INT_OUTPUT-QUAL1 = INT_QUALFI-ATEXT.
ENDIF.
ELSEIF SY-TABIX EQ 2.
READ TABLE INT_QUALFI WITH KEY AUSBI = P0022-AUSBI.
IF SY-SUBRC EQ 0.
INT_OUTPUT-QUAL2 = INT_QUALFI-ATEXT.
ENDIF.
ELSEIF SY-TABIX EQ 3.
READ TABLE INT_QUALFI WITH KEY AUSBI = P0022-AUSBI.
IF SY-SUBRC EQ 0.
INT_OUTPUT-QUAL3 = INT_QUALFI-ATEXT.
ENDIF.
ELSEIF SY-TABIX EQ 4.
READ TABLE INT_QUALFI WITH KEY AUSBI = P0022-AUSBI.
IF SY-SUBRC EQ 0.
INT_OUTPUT-QUAL4 = INT_QUALFI-ATEXT.
ENDIF.
ELSEIF SY-TABIX EQ 5.
READ TABLE INT_QUALFI WITH KEY AUSBI = P0022-AUSBI.
IF SY-SUBRC EQ 0.
INT_OUTPUT-QUAL5 = INT_QUALFI-ATEXT.
ENDIF.
ENDIF.
ENDPROVIDE.
* Carrer path code for employee from Additional Personal Data.
RP_PROVIDE_FROM_LAST P9002 SPACE PN-BEGDA PN-ENDDA.
IF PNP-SW-FOUND EQ C_ONE.
W_CPCODE = P9002-CPCODE.
INT_OUTPUT-CPCODE = P9002-CPCODE.
IF W_CPCODE EQ '001'.
IF W_HIREDATE < C_EARLYDT.
CONCATENATE W_CPCODE
C_EARLY
INTO W_CAREERCD.
ELSE.
CONCATENATE W_CPCODE
C_NEW
INTO W_CAREERCD.
ENDIF.
ELSE.
W_CAREERCD = W_CPCODE.
ENDIF.
ENDIF.
* Detrmine Promotion by Test/Service
READ TABLE INT_NONEXE WITH KEY CPCODE = W_CAREERCD
WAGEGROUP = W_WAGEGRP.
IF SY-SUBRC EQ 0.
W_PROMTYPE = INT_NONEXE-TSTYPE.
W_NOOFYRS = INT_NONEXE-NOYRS.
INT_OUTPUT-PROMT = W_PROMTYPE.
INT_OUTPUT-NOYRS = W_NOOFYRS.
ENDIF.
* Retriving last promotion date from actions
DELETE INT_PROM WHERE MASSN NE 'B3'.
SORT INT_PROM BY BEGDA DESCENDING.
* RP_PROVIDE_FROM_LAST INT_PROM SPACE PN-BEGDA PN-ENDDA.
READ TABLE INT_PROM INDEX 1.
IF SY-SUBRC EQ 0 AND INT_PROM-MASSN EQ 'B3'.
PERFORM PU_DATE_CONVERSION USING INT_PROM-BEGDA
CHANGING W_LASTPROM.
ELSE.
PERFORM PU_DATE_CONVERSION USING W_HIREDATE
CHANGING W_LASTPROM.
ENDIF.
* As there is no ending date for records which happen on same date
* for cross check to get last promotion Infotype 0302' is retived
IF P0302[] IS NOT INITIAL.
DELETE P0302 WHERE MASSN NE 'B3'.
SORT P0302 BY BEGDA DESCENDING.
READ TABLE P0302 INDEX 1.
IF SY-SUBRC EQ 0 AND
INT_PROM-BEGDA IS NOT INITIAL.
IF INT_PROM-BEGDA < P0302-BEGDA.
PERFORM PU_DATE_CONVERSION USING P0302-BEGDA
CHANGING W_LASTPROM.
ENDIF.
ENDIF.
ENDIF.
IF W_LASTPROM+0(2) GT '01'.
W_LASTPROM+0(2) = '01'.
W_ONE = W_LASTPROM+3(2) + 1.
W_LASTPROM+3(2) = W_ONE.
ENDIF.
* Last promaotion date for Employee into output table
INT_OUTPUT-LPROM = W_LASTPROM.
* To Find out promotion due date for employee.
* Fetching service availabilty data
W_YEAR = W_LASTPROM+6(4).
W_YEAR = W_YEAR + W_NOOFYRS.
CONCATENATE W_YEAR
W_LASTPROM+3(2)
W_LASTPROM+0(2)
INTO W_PROMDATE.
* Check promotion duedate is with in input range.
IF S_FROM-LOW IS NOT INITIAL.
CHECK W_PROMDATE GE S_FROM-LOW.
ENDIF.
IF S_FROM-HIGH IS NOT INITIAL.
CHECK W_PROMDATE LE S_FROM-HIGH.
ENDIF.
* Promaotion due date for Employee into output table
PERFORM PU_DATE_CONVERSION USING W_PROMDATE
CHANGING INT_OUTPUT-PROMD.
* Apprisal rating data.
* If promotion month is JAN,FEB,MAR deduct 6 years
IF W_PROMDATE+4(2) EQ C_JAN OR
W_PROMDATE+4(2) EQ C_FEB OR
W_PROMDATE+4(2) EQ C_MAR.
CLEAR W_YEAR.
W_YEAR = W_PROMDATE+0(4).
W_APYEAR = W_YEAR - 1.
W_YEAR = W_YEAR - 6.
ELSE.
* If promotion month is not JAN,FEB,MAR deduct 5 years
W_YEAR = W_PROMDATE+0(4).
W_APYEAR = W_YEAR.
W_YEAR = W_YEAR - 5.
ENDIF.
CONCATENATE W_YEAR
'0401'
INTO W_APPRST.
CONCATENATE W_APYEAR
'0331'
INTO W_APPREND.
DELETE P0025 WHERE BEGDA LT W_APPRST
OR BEGDA GT W_APPREND.
PROVIDE * FROM P0025 BETWEEN PN-BEGDA AND PN-ENDDA.
IF SY-TABIX EQ 1.
INT_OUTPUT-APPR1 = P0025-KSU01.
ELSEIF SY-TABIX EQ 2.
INT_OUTPUT-APPR2 = P0025-KSU01.
ELSEIF SY-TABIX EQ 3.
INT_OUTPUT-APPR3 = P0025-KSU01.
ELSEIF SY-TABIX EQ 4.
INT_OUTPUT-APPR4 = P0025-KSU01.
ELSEIF SY-TABIX EQ 5.
INT_OUTPUT-APPR5 = P0025-KSU01.
ENDIF.
ENDPROVIDE.
* Absence data.
IF W_PROMDATE+4(2) EQ C_JAN.
CLEAR W_YEAR.
W_YEAR = W_PROMDATE+0(4).
W_ABSYR = W_YEAR - 1.
W_MONTH = '11'.
W_YEAR = W_YEAR - 2.
ELSE.
* If promotion month is not JAN,FEB,MAR deduct 5 years
W_YEAR = W_PROMDATE+0(4).
W_ABSYR = W_YEAR.
W_MONTH = W_PROMDATE+4(2).
W_MONTH = W_MONTH - 01.
W_YEAR = W_YEAR - 1.
ENDIF.
CONCATENATE W_YEAR
W_MONTH
'23'
INTO W_ABSST.
CONCATENATE W_ABSYR
W_MONTH
'22'
INTO W_ABSEND.
SORT P2001 BY BEGDA.
DELETE P2001 WHERE ( AWART NE C_AWL AND
AWART NE C_LWP ) OR
( BEGDA LT W_ABSST
OR BEGDA GT W_ABSEND ).
PROVIDE * FROM P2001 BETWEEN PN-BEGDA AND PN-ENDDA.
IF P2001-AWART EQ C_AWL.
W_AWL = W_AWL + P2001-ABWTG.
ELSEIF P2001-AWART EQ C_LWP.
W_LWP = W_LWP + P2001-ABWTG.
ENDIF.
ENDPROVIDE.
INT_OUTPUT-AWL = W_AWL.
INT_OUTPUT-LWP = W_LWP.
* Increments dates' data.
DELETE INT_CHGPY WHERE MASSN NE 'B7'.
SORT INT_CHGPY BY BEGDA DESCENDING.
IF INT_CHGPY[] IS NOT INITIAL.
INT_INCRE-PERNR = INT_CHGPY-PERNR.
PROVIDE * FROM INT_CHGPY BETWEEN PN-BEGDA
AND PN-ENDDA.
IF SY-TABIX EQ 1.
PERFORM PU_DATE_CONVERSION USING INT_CHGPY-BEGDA
CHANGING INT_INCRE-INCR1.
ELSEIF SY-TABIX EQ 2.
PERFORM PU_DATE_CONVERSION USING INT_CHGPY-BEGDA
CHANGING INT_INCRE-INCR2.
ELSEIF SY-TABIX EQ 3.
PERFORM PU_DATE_CONVERSION USING INT_CHGPY-BEGDA
CHANGING INT_INCRE-INCR3.
ENDIF.
ENDPROVIDE.
APPEND INT_INCRE.
CLEAR INT_INCRE.
ENDIF.
* Disciplinary Actions.
CLEAR W_YEAR.
W_YEAR = W_PROMDATE+0(4).
W_YEAR = W_YEAR - 3.
CONCATENATE W_YEAR
W_PROMDATE+4(4)
INTO W_DISDATE.
SORT P9545 BY MDATE.
DELETE P9545 WHERE MDATE LT W_DISDATE
OR MDATE GT W_PROMDATE.
PROVIDE * FROM P9545 BETWEEN PN-BEGDA
AND PN-ENDDA.
READ TABLE INT_DISCIP WITH KEY MCODE = P9545-MCODE.
IF SY-SUBRC EQ 0.
INT_DISCACT-PERNR = P9545-PERNR.
INT_DISCACT-DESCRI = INT_DISCIP-DESCRI.
PERFORM PU_DATE_CONVERSION USING P9545-MDATE
CHANGING INT_DISCACT-MDATE.
INT_DISCACT-COMM1 = ','.
INT_DISCACT-COMM2 = ','.
APPEND INT_DISCACT.
CLEAR INT_DISCACT.
ENDIF.
ENDPROVIDE.
APPEND INT_OUTPUT.
CLEAR INT_OUTPUT.
CLEAR : W_HIREDATE,W_WAGEGRP,W_CPCODE,W_CAREERCD,W_PROMTYPE,
W_NOOFYRS,W_LASTPROM,W_PROMDATE,W_YEAR,W_APYEAR,
W_APPRST,W_DISDATE,W_APPREND,W_ABSST,W_ABSEND,
W_ABSYR,W_MONTH,W_AWL,W_LWP,W_DISCI.
ENDFORM. " PU_DATA_RETRIEVAL
*& Form PU_DATA_OF_JOIN
FORM PU_DATA_OF_JOIN .
CLEAR INT_OUTPUT.
READ TABLE P0000 WITH KEY MASSN = 'B1'.
IF SY-SUBRC NE 0 OR P0000-STAT2 NE '3'.
REJECT.
ELSE.
* Personnel number into output table
INT_OUTPUT-PERNR = P0000-PERNR.
PERFORM PU_DATE_CONVERSION USING P0000-BEGDA
CHANGING INT_OUTPUT-DOJ.
W_HIREDATE = P0000-BEGDA.
ENDIF.
ENDFORM. " PU_DATA_OF_JOIN
*& Form PU_POSTION_TEXT
FORM PU_POSTION_TEXT .
DATA : S_OBJECT TYPE OBJEC_T,
PERNR_TAB TYPE HRQUERY_PERNR_T ,
SOBID_TAB TYPE HRQUERY_SOBID_T ,
WA_SOBID TYPE HRQUERY_SOBID,
WA_PERNR TYPE HRQUERY_PERNR,
WA_OBJECT TYPE OBJEC.
WA_PERNR-PERNR = P0001-PERNR.
APPEND WA_PERNR TO PERNR_TAB.
WA_SOBID-PLVAR = '01'.
WA_SOBID-OTYPE = P0001-OTYPE.
WA_SOBID-SOBID = P0001-PLANS.
APPEND WA_SOBID TO SOBID_TAB.
WA_SOBID-PLVAR = '01'.
WA_SOBID-OTYPE = 'O'.
WA_SOBID-SOBID = P0001-ORGEH.
APPEND WA_SOBID TO SOBID_TAB.
CALL FUNCTION 'HR_GET_TEXT_FOR_OBJECTS'
EXPORTING
BEGDA = PN-BEGDA
ENDDA = PN-ENDDA
IMPORTING
OBJEC_TAB = S_OBJECT
CHANGING
PERNR_TAB = PERNR_TAB
SOBID_TAB = SOBID_TAB
EXCEPTIONS
WRONG_DATES = 1
OTHERS = 2.
IF SY-SUBRC EQ 0.
LOOP AT S_OBJECT INTO WA_OBJECT.
IF WA_OBJECT-OTYPE EQ 'O'.
INT_OUTPUT-ORGUN = WA_OBJECT-STEXT.
ELSEIF WA_OBJECT-OTYPE EQ 'S'.
INT_OUTPUT-DESIG = WA_OBJECT-STEXT.
ENDIF.
ENDLOOP.
ENDIF.
ENDFORM. " PU_POSTION_TEXT
*& Form PU_EXEUTIVES_PROM
FORM PU_EXEUTIVES_PROM .
SELECT * FROM ZHRT007 INTO TABLE INT_NONEXE.
SELECT * FROM ZHRT004 INTO TABLE INT_DISCIP.
SELECT * FROM T001P INTO TABLE INT_PESUB.
SELECT * FROM CSKT INTO TABLE INT_COSTC
WHERE SPRAS EQ SY-LANGU.
SELECT * FROM T518B INTO TABLE INT_QUALFI
WHERE LANGU EQ SY-LANGU.
ENDFORM. " PU_EXEUTIVES_PROM
*& Form PU_DATE_CONVERSION
FORM PU_DATE_CONVERSION USING INPUT_DATE TYPE SY-DATUM
CHANGING OUTPUT_DATE TYPE CHAR10.
CALL FUNCTION 'CONVERT_DATE_TO_EXTERNAL'
EXPORTING
DATE_INTERNAL = INPUT_DATE
IMPORTING
DATE_EXTERNAL = OUTPUT_DATE
EXCEPTIONS
DATE_INTERNAL_IS_INVALID = 1
OTHERS = 2.
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDFORM. " PU_DATE_CONVERSION
*& Form PU_FINAL_TABLE
* Preparing final internal table for output to excel
FORM PU_FINAL_TABLE .
DATA : W_STR1(4) TYPE N,
W_STR2(4) TYPE N,
W_STR3(4) TYPE N,
W_EXSTR(4) TYPE N,
W_ORSTR(4) TYPE N,
W_INSTR(4) TYPE N,
W_ONSTR(4) TYPE N,
W_DISFLAG TYPE CHAR1,
W_INCFLAG TYPE CHAR1.
LOOP AT INT_OUTPUT.
MOVE-CORRESPONDING INT_OUTPUT TO INT_EXCEL.
LOOP AT INT_DISCACT WHERE PERNR = INT_OUTPUT-PERNR.
IF SY-TABIX EQ 1.
CONCATENATE INT_DISCACT-DESCRI
SPACE
INT_DISCACT-MDATE
INTO W_DISCI.
INT_EXCEL-DISCI = W_DISCI.
ELSE.
W_DISFLAG = 1.
ENDIF.
ENDLOOP.
LOOP AT INT_INCRE WHERE PERNR = INT_OUTPUT-PERNR.
INT_EXCEL-INCR1 = INT_INCRE-INCR1.
INT_EXCEL-INCR2 = INT_INCRE-INCR2.
INT_EXCEL-INCR3 = INT_INCRE-INCR3.
ENDLOOP.
APPEND INT_EXCEL.
CLEAR INT_EXCEL.
CLEAR : W_STR1,W_STR2,W_STR3.
IF W_DISFLAG EQ 1.
W_ORSTR = W_EXSTR.
LOOP AT INT_DISCACT WHERE PERNR = INT_OUTPUT-PERNR.
IF SY-TABIX NE 1.
CONCATENATE INT_DISCACT-DESCRI
SPACE
INT_DISCACT-MDATE
INTO W_DISCI.
INT_EXCEL-DISCI = W_DISCI.
APPEND INT_EXCEL.
CLEAR INT_EXCEL.
CLEAR : W_STR2,W_EXSTR.
ENDIF.
ENDLOOP.
ENDIF.
ENDLOOP.
ENDFORM. " PU_FINAL_TABLE
*& Form PU_GRID_DISPLAY
* text
* --> p1 text
* <-- p2 text
FORM PU_GRID_DISPLAY .
DATA W_GT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV.
PERFORM F_FIELDCAT_INIT USING 'IT_HEADER' W_GT_FIELDCAT[].
IF INT_EXCEL[] IS NOT INITIAL.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = SY-CPROG
IT_FIELDCAT = W_GT_FIELDCAT[]
IT_EVENTS = EVENT[]
TABLES
T_OUTTAB = INT_EXCEL
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2.
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ELSE.
MESSAGE S011(ZHR).
LEAVE LIST-PROCESSING.
ENDIF.
ENDFORM. " PU_GRID_DISPLAY
*& Form F_FIELDCAT_INIT
FORM F_FIELDCAT_INIT USING IT_TABLE
LT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV.
DATA: LS_FIELDCAT TYPE SLIS_FIELDCAT_ALV.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'PERNR'.
LS_FIELDCAT-TABNAME = INT_EXCEL.
LS_FIELDCAT-OUTPUTLEN = 14.
LS_FIELDCAT-SELTEXT_L = 'Personnel Number'.
LS_FIELDCAT-FIX_COLUMN = 'X'.
APPEND LS_FIELDCAT TO LT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'NAME'.
LS_FIELDCAT-TABNAME = INT_EXCEL.
LS_FIELDCAT-OUTPUTLEN = 30.
LS_FIELDCAT-SELTEXT_L = 'Name'.
APPEND LS_FIELDCAT TO LT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'DESIG'.
LS_FIELDCAT-TABNAME = INT_EXCEL.
LS_FIELDCAT-OUTPUTLEN = 25.
LS_FIELDCAT-SELTEXT_L = 'Desigination'.
APPEND LS_FIELDCAT TO LT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'PESUB'.
LS_FIELDCAT-TABNAME = INT_EXCEL.
LS_FIELDCAT-OUTPUTLEN = 16.
LS_FIELDCAT-SELTEXT_L = 'Personnel Sub Area'.
APPEND LS_FIELDCAT TO LT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'ORGUN'.
LS_FIELDCAT-TABNAME = INT_EXCEL.
LS_FIELDCAT-OUTPUTLEN = 25.
LS_FIELDCAT-SELTEXT_L = 'Organization Unit'.
APPEND LS_FIELDCAT TO LT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'COSTC'.
LS_FIELDCAT-TABNAME = INT_EXCEL.
LS_FIELDCAT-OUTPUTLEN = 14.
LS_FIELDCAT-SELTEXT_L = 'Cost Center'.
APPEND LS_FIELDCAT TO LT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'ETHIC'.
LS_FIELDCAT-TABNAME = INT_EXCEL.
LS_FIELDCAT-OUTPUTLEN = 6.
LS_FIELDCAT-SELTEXT_L = 'Ethic'.
APPEND LS_FIELDCAT TO LT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'CPCODE'.
LS_FIELDCAT-TABNAME = INT_EXCEL.
LS_FIELDCAT-OUTPUTLEN = 7.
LS_FIELDCAT-SELTEXT_L = 'CPCode'.
APPEND LS_FIELDCAT TO LT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'GRADE'.
LS_FIELDCAT-TABNAME = INT_EXCEL.
LS_FIELDCAT-OUTPUTLEN = 12.
LS_FIELDCAT-SELTEXT_L = 'Current Grade'.
APPEND LS_FIELDCAT TO LT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = '***'.
LS_FIELDCAT-TABNAME = INT_EXCEL.
LS_FIELDCAT-OUTPUTLEN = 6.
LS_FIELDCAT-SELTEXT_L = 'Gender'.
APPEND LS_FIELDCAT TO LT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'DOB'.
LS_FIELDCAT-TABNAME = INT_EXCEL.
LS_FIELDCAT-OUTPUTLEN = 11.
LS_FIELDCAT-SELTEXT_L = 'Date of Birth'.
APPEND LS_FIELDCAT TO LT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'DOJ'.
LS_FIELDCAT-TABNAME = INT_EXCEL.
LS_FIELDCAT-OUTPUTLEN = 11.
LS_FIELDCAT-SELTEXT_L = 'Date of Join'.
APPEND LS_FIELDCAT TO LT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'QUAL1'.
LS_FIELDCAT-TABNAME = INT_EXCEL.
LS_FIELDCAT-OUTPUTLEN = 13.
LS_FIELDCAT-SELTEXT_L = 'Qualification 1'.
APPEND LS_FIELDCAT TO LT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'QUAL2'.
LS_FIELDCAT-TABNAME = INT_EXCEL.
LS_FIELDCAT-OUTPUTLEN = 13.
LS_FIELDCAT-SELTEXT_L = 'Qualification 2'.
APPEND LS_FIELDCAT TO LT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'QUAL3'.
LS_FIELDCAT-TABNAME = INT_EXCEL.
LS_FIELDCAT-OUTPUTLEN = 13.
LS_FIELDCAT-SELTEXT_L = 'Qualification 3'.
APPEND LS_FIELDCAT TO LT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'QUAL4'.
LS_FIELDCAT-TABNAME = INT_EXCEL.
LS_FIELDCAT-OUTPUTLEN = 13.
LS_FIELDCAT-SELTEXT_L = 'Qualification 4'.
APPEND LS_FIELDCAT TO LT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'QUAL5'.
LS_FIELDCAT-TABNAME = INT_EXCEL.
LS_FIELDCAT-OUTPUTLEN = 13.
LS_FIELDCAT-SELTEXT_L = 'Qualification 5'.
APPEND LS_FIELDCAT TO LT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'LPROM'.
LS_FIELDCAT-TABNAME = INT_EXCEL.
LS_FIELDCAT-OUTPUTLEN = 16.
LS_FIELDCAT-SELTEXT_L = 'Last Promotion Date'.
APPEND LS_FIELDCAT TO LT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'PROMD'.
LS_FIELDCAT-TABNAME = INT_EXCEL.
LS_FIELDCAT-OUTPUTLEN = 16.
LS_FIELDCAT-SELTEXT_L = 'Promotion Due Date'.
APPEND LS_FIELDCAT TO LT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'PROMT'.
LS_FIELDCAT-TABNAME = INT_EXCEL.
LS_FIELDCAT-OUTPUTLEN = 14.
LS_FIELDCAT-SELTEXT_L = 'Promotion Type'.
APPEND LS_FIELDCAT TO LT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'NOYRS'.
LS_FIELDCAT-TABNAME = INT_EXCEL.
LS_FIELDCAT-OUTPUTLEN = 15.
LS_FIELDCAT-SELTEXT_L = 'Number of Years'.
APPEND LS_FIELDCAT TO LT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'AWL'.
LS_FIELDCAT-TABNAME = INT_EXCEL.
LS_FIELDCAT-OUTPUTLEN = 22.
LS_FIELDCAT-SELTEXT_L = 'Absence Without Leave'.
APPEND LS_FIELDCAT TO LT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'LWP'.
LS_FIELDCAT-TABNAME = INT_EXCEL.
LS_FIELDCAT-OUTPUTLEN = 22.
LS_FIELDCAT-SELTEXT_L = 'Leave Without Pay'.
APPEND LS_FIELDCAT TO LT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'APPR1'.
LS_FIELDCAT-TABNAME = INT_EXCEL.
LS_FIELDCAT-OUTPUTLEN = 15.
LS_FIELDCAT-SELTEXT_L = 'Apprisal 1st'.
APPEND LS_FIELDCAT TO LT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'APPR2'.
LS_FIELDCAT-TABNAME = INT_EXCEL.
LS_FIELDCAT-OUTPUTLEN = 15.
LS_FIELDCAT-SELTEXT_L = 'Apprisal 2nd'.
APPEND LS_FIELDCAT TO LT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'APPR3'.
LS_FIELDCAT-TABNAME = INT_EXCEL.
LS_FIELDCAT-OUTPUTLEN = 15.
LS_FIELDCAT-SELTEXT_L = 'Apprisal 3rd'.
APPEND LS_FIELDCAT TO LT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'APPR4'.
LS_FIELDCAT-TABNAME = INT_EXCEL.
LS_FIELDCAT-OUTPUTLEN = 15.
LS_FIELDCAT-SELTEXT_L = 'Apprisal 4th'.
APPEND LS_FIELDCAT TO LT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'APPR5'.
LS_FIELDCAT-TABNAME = INT_EXCEL.
LS_FIELDCAT-OUTPUTLEN = 15.
LS_FIELDCAT-SELTEXT_L = 'Apprisal 5th'.
APPEND LS_FIELDCAT TO LT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'DISCI'.
LS_FIELDCAT-TABNAME = INT_EXCEL.
LS_FIELDCAT-OUTPUTLEN = 60.
LS_FIELDCAT-SELTEXT_L = 'Disciplinary Actions - Date'.
APPEND LS_FIELDCAT TO LT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'INCR1'.
LS_FIELDCAT-TABNAME = INT_EXCEL.
LS_FIELDCAT-OUTPUTLEN = 15.
LS_FIELDCAT-SELTEXT_L = '1st Increment'.
APPEND LS_FIELDCAT TO LT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'INCR2'.
LS_FIELDCAT-TABNAME = INT_EXCEL.
LS_FIELDCAT-OUTPUTLEN = 15.
LS_FIELDCAT-SELTEXT_L = '2nd Increment'.
APPEND LS_FIELDCAT TO LT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'INCR3'.
LS_FIELDCAT-TABNAME = INT_EXCEL.
LS_FIELDCAT-OUTPUTLEN = 15.
LS_FIELDCAT-SELTEXT_L = '3rd Increment'.
APPEND LS_FIELDCAT TO LT_FIELDCAT.
ENDFORM. " F_FIELDCAT_INIT
*& Form PU_FREE_TABLES
FORM PU_FREE_TABLES .
FREE : INT_NONEXE ,
INT_OUTPUT ,
INT_DISCACT ,
INT_QUALFI ,
INT_INCRE ,
INT_DISCIP ,
INT_PESUB ,
INT_COSTC ,
INT_EXCEL ,
EVENT ,
LISTHEAD .
ENDFORM. " PU_FREE_TABLES
reward points if helpful
Edited by: mohammed abdul hai on Jul 25, 2008 7:21 PM
Maybe you are looking for
-
I need to know which install disk to buy for my mac serial number 17*****ZE4
Need to know which install disk to buy since I lost my original. <Edited by Host>
-
What is the best word processor for mac? Closest to office?
What is the best word processor for mac? Closest to office?
-
Free Reader 9 and Professional 9
I was told that if you have Professional 9 Pro you do not need to have the reader on as well, I have uninstalled the reader on my machine. College just got Pro and was working on a form, distributing form, everything was working fine. I noticed tha
-
Read customized table on PI using Java
Hi, is it possible to read a local Y table on the PI System using Java? Thanks in advance.
-
my iphone 5 has crapped out. I need to recover but as soon as it "extracts data" it gives me an error saying the iphone can't be restored. The error troubleshooting says its something to do with security, but i dont know how to change that...any help