Logical database GUI status
Hello everyone.
Is there a way to change the GUI status guy status of a logical database?
thank you in advance.
Hi Ebaristo,
REPORT demo_sel_screen_status .
DATA itab TYPE TABLE OF sy-ucomm.
PARAMETERS test(10) TYPE c.
AT SELECTION-SCREEN OUTPUT.
APPEND: 'PRIN' TO itab,
'SPOS' TO itab.
CALL FUNCTION 'RS_SET_SELSCREEN_STATUS'
EXPORTING
p_status = sy-pfkey
TABLES
p_exclude = itab.
In this example program, the two functions Print and Save as Variant are disabled. You can find the function codes of the default GUI status in the field GUI Status which you can display by choosing System u2192 Status.
[http://help.sap.com/abapdocu_702/en/abenselection_screen_overview.htm]
Similar Messages
-
hi experts,
i need standard LDB's related to the tables of sd, mm and fi... can anyone help regarding this.....Ok so here you are, If you want to edit one go to SE36
LDB name
Logical database short text
50V
Delivery in process
AAV
Logical Database RV: Sales Documents
ABCLAIMLDB
Agency Business: Complaints Processing
ABS
ABAP Book: Customer and bookings
ACAC_ACE_LDBDS
Accrual Object Distribution Server Reporting Table
ACAC_ACE_LDBPS
Accrual Engine Posting Server Reporting Database
ACE_FILA_LDBDS
Accrual Object Distribution Server Reporting Table
ACE_FILA_LDBPS
Accrual Engine Posting Server Reporting Database
ACE_SOP_LDBDS
Stock Option Accounting Distribution Server LDB
ACE_SOP_LDBPS
Provisions for Awards: Posting Server LDB
ACEDS_003
Accrual Object Distribution Server Reporting Table
ACEPS_003
Accrual Engine Posting Server Reporting Database
ADA
Assets Database
AFI
Logical database for orders
AGENCYLDB
Agency Business: Logical Database
AKV
Logical Database RV: Sales Documents
ALV
Archiving Deliveries
ARV
Logical Database RV: Sales Documents
ASV
Request Screen for Summary Information
AUK
Settlement documents
AUW
Allocation Table
B1L
Transfer requirements by number
BAF
BAV-Data collector
BAM
Purchase Requisitions (General)
BANK
Logical Database for Table BNKA
BBM
Archiving of Purchase Requisitions
BC405_DIFF_NODES
Example of Different Node Types
BJF
Loans flow records with date restriction(YR
BKK
Base Planning Object
BKM
Purchase Requisitions per Account Assignment
BMM
Documents for Number
BPF
Treasury Business Partner
BRF
Document Database
BRM
Accounting Documents
BTF
Loan portfolios and flows
BTM
Process Order; Print
BUCHUNGSJOURNAL
LDB for Posting Journal
BUD
LDB For Loans Master Data, Conditions, Documents
C1F
Cash Budget Management
CCLDB_AENR
ECH: Change number with status information
CDC
Document structure
CEC
Equipment BOM
CEK
Cost Centers - Line Items
CFK
Data pool for SAP EIS
CIK
Cost Centers - Actual Data
CKA
Costing
CKC
Sales order BOM
CKM
Material master
CKQ
Material Selection for New Costing Solution
CKS
MiniApp. for the Calculator: Sales Order Data
CKS_WAO
MiniApp: Sales Order Items to be Processed
CKW
Costing run: Material Selection
CMC
Material BOM
CPK
Cost Centers - Plan Data
CRC
Work Centers
CRK
Cost Centers - Total
CRZ
Logical database for courses BC220/BC230
CSC
Standard BOM
CSR
Logical database for archiving BOMs
CTC
Functional location BOM
DBM
MRP Documents
DDF
CUSTOMER DATABASE
DPM
Planned Orders
DSF
Loan Debit Position
DVS
Logical database for archiving DMS data
DWF
Loan resubmission
EBM
Purchasing Activities per Requirement Tracking No.
ECM
Purchasing Documents per Material Class
EHS_OH001
Logical Database for Occupational Health
EKM
Purchasing Documents per Account Assignment
ELM
Purchasing Documents per Vendor
EMM
Purchasing Documents for Material
ENM
Purchasing Documents per Document Number
EQI
Logical Database (Equipment)
ERM
Archiving of Purchasing Documents
ESM
Purchasing Documents per Collective Number
EWM
Purchasing Documents per Supplying Plant
F1S
BC: Planned flights, flights and bookings
FDF
Cash management and forecast
FDK
IS-U/FERC: Drill down to line items and paths
FEF
Cash Management - Memo Records
FILA
Lease Accounting
FMF
Funds Management
FPMF
LDB, reads FPAYH and FPAYP
FRF
Drill-down Selection Screen
FSF
Cash Management Totals Records
FTI_BW_CFM_VALUES
Market Values and Simulated Values in Pos. Mgmt
FTI_LO_PERIODS
Loan/CML Period Evaluations
FTI_LO_POSITIONS
Loan /CML Positions
FTI_SWAP_POSITION
Swap Positions
FTI_TR_CASH_FLOWS
Treasury Payment Information
FTI_TR_PERIODS
Treasury: Period-Based Evaluations
FTI_TR_PL_CF
Treasury: Revenue and Cash Flow Reporting
FTI_TR_POSITIONS
Treasury Positions
FTLM_DB01
Limit Management
FUK
IS-U/FERC: Drill back from document line items
G1S
text
GLG
FI-SL Totals and Line Items
GLU3
Flexible G/L
I1L
Inventory data for storage bin
I2L
Warehouse quants for storage bin
I3L
Inventory documents
IBF
Real Estate Logical Database (Lease-Out)
IDF
Real Estate Logical Database
IDFPLUS
Real Estate Plus Logical Database
IFM
Purchasing Info Records: General
ILM
Archiving Purchasing Info Records
IMA
Logical database for investment programs
IMC
IM Summarization (not usable operationally)
IMM
Inventory documents for material
IMR
Approp. requests (not operationally functional)
IMT
Approp. requests (not operationally functional)
INM
Inventory documents
IOC
Shop floor control - order info system
IPM_ACE_LDBDS
Accrual Object Distribution Server Reporting Table
IPM_ACE_LDBPS
Accrual Engine Posting Server Reporting Database
IRM
Reorganization of inventory documents
J5F
Logical Database for new Nota Fiscal Database
K1V
Generating Conditions
KDF
Vendor Database
KIV
Customer Material Information
KKF
Balance Audit Trail of Open Items
KLF
Historical Balance Audit Trail
KMV
SD Documents for Credit Limit
KOV
Selection of Condition Records
L1L
Evaluation Whse Documents
L1M
Stock movements for material
LMM
Stock Movements for Material
LNM
Stock movements
LO_CHANGE_MNMT
Logical database for engineering change management
MAF
Dataset for Dunning Notices
MDF
Logical Database for Master Data Selection
MEPOLDB
Logical Database/Selection of Purch. Order Tables
MIV
BC: Planned flights, flights and bookings
MMIMRKPFRESB
Selection from Reservations
MRM
Reorganization of material documents
MSM
Material master
NOTIF
LDB for Basic Notifications
NOTIFICATIONS
NTI
Logical database object networking
ODC
Shop floor control - orders per MRP controller
ODK
Orders
OFC
Shop floor control - orders per prod.scheduler
OHC
Shop floor control - orders by numbers
OPC
Shop floor control - orders by material
PAK
CO-PA Segment Level and Line Items
PAP
Applicant master data
PCH
Personnel Planning
PGQ
QM: Specs and Results of the Quality Inspection
PMI
Structure database (plant maintenance)
PNI
PM Planning Database
PNM
Planning database
PNM_OLD
Planning Database
PNP
HR Master Data
PNPCE
HR Master Data (Incl. Concurrent Employment)
POH
Production orders database - header
PSJ
Project system
PTRVP
Travel Management
PYF
Database for Payment Medium Print Programs
QAM
Inspection Catalogs: Selected Sets
QAQ
Inspection Catalogs: Selected Sets
QCM
Inspection Catalogs: Codes
QCQ
Inspection Catalogs: Codes
QMI
Logical database (PM notifications)
QMQ
Inspection Characteristics
QNQ
Quality Notifications
QTQ
Logical database for inspection methods
QUERYTESTLDB
Test LDB for InfoSet Query
R0L
Archive selection: Transfer orders (MM-WM)
R1L
Archive selection: Transfer requirements (MM-WM)
R2L
Archive Selection: Posting Change Notices (MM-WM)
R3L
Archive selection: Inventory documents (MM-WM)
R4L
Archive selection: Inventory histories (MM-WM)
RBL
Archiving of transfer requests
REAO
Real Estate: Logical Database for Architecture
REBD
Logical Database for Real Estate Objects
REBP
Logical Database via Partner (Real Estate)
RECN
Real Estate: Selection by Contracts
RECONTRACT
RE Logical Database: (General) Contract
RHL
Archiving of inventory history
RIL
Archiving of inventory documents
RKM
Reservations for Account Assignment
RLI
Logical Database Reference Location
RMM
Reservations for material
RNM
Reservations
RTL
Archiving of transfer orders
RUL
Archiving of Posting Change Notices
S1L
Stock by storage bins
S1L_OLD
Stock by Storage Bins
S2L
Warehouse quant for material
S3L
Stocks
SAK
Completely Reversed Allocation Documents
SD_KUSTA
Logical Database for Sales Summary
SD_ORDER
Logical database for inquiries, contracts
SD_SALES_DOCUMENT
Logical database for inquiries, contracts
SDF
G/L Account Database
SMI
Serial Number Management
T1L
Transfer orders by number
T1L_OLD
Transfer Orders by Number
T2L
Transfer orders for material
T3L
Transfer orders for storage type
T4L
Transfer order for TO printing
T5L
Transfer orders for reference number
TAF
Treasury
TIF
Treasury Information System
TPI
Functional Location Logical Database
U1S
User master reorganization: Password changes
U2S
User master reorganization: Password changes
U3S
User master reorganization: Password changes
U4S
User master reorganization: Password changes
UKM_BUPA
SAP Credit Management: Business Partner
V12L
Pricing Report
VAV
Logical Database RV: Sales Documents
VC1
List of Sales Activities
VC2
Generate Address List
VDF
Customer Database with View of Document Index
VFV
Logical Database RV: Billing Documents
VLV
Logical Database For Deliveries
VVAV
Logical Database RV: Sales Documents
VXV
SD: Billing Document - Export
WAF
Securities position plus additional master data
WOI
Maintenance Item
WPI
Maintenance plans
WTF
Securities positions and flows
WTY
WTY LD
WUF
Sec.-Determ.master data for positions
I hope this will delh -
How to get GUI Status(Push Buttons) in ALV Report
Hi Friends
I have a requirement in a way that:
Once selection-screen was processed,an ALV report has to come and above the ALV List,I need a custom GUI Status(4 Push Button) with Push Buttons Logic.
Once I had clicks on thesse push button,I need to display one more ALV List and above this List,again I need a custom GUI Status(2 Push Buttons) with Push Buttons Logic.
Can anyone throw some light how we can achieve this.
Thanks for your cooperation!
Regards,
Madisettydata: rt_extab type slis_t_extab,
g_ucomm like sy-ucomm ,
g_selfield type slis_selfield.
form alv_display .
call function 'REUSE_ALV_LIST_DISPLAY'
exporting
i_callback_program = g_repid
i_callback_pf_status_set = 'PF_STATUS'
i_callback_user_command = 'USER_COMM'
it_fieldcat = it_fldcat
tables
t_outtab = it_final1
perform pf_status using rt_extab.
perform user_comm using g_ucomm g_selfield .
endform.
form pf_status using p_rt_extab.
set pf-status 'PF_STATUS' excluding p_rt_extab.
endform.
form user_comm using p_ucomm like sy-ucomm
p_selfield type slis_selfield.
data: l_row type i.
case p_ucomm.
when 'DISPLAY_PO'.
loop at it_final1 into wa_final1.
if wa_final1-sel eq 'X' .
l_row = l_row + 1.
endif.
if l_row gt 1.
message e004.
endif.
clear wa_final1.
endloop.
p_selfield-fieldname = 'SEL'.
read table it_final1 into wa_final1 index p_selfield-tabindex .
set parameter id 'BES' field wa_final1-ebeln.
call transaction 'ME23N'.
endcase.
endform.
*create user interface for gui status by double clicking on 'PF_STATUS'.
*Check the above sample code . -
Logical database EQI (equipment) .. I dont want to use the default selecti
i am using Logical database EQI (equipment) its realated to PM module.....
i dont want to use the default selection screen.
instead i want to process my own selection screen inputs..
(ie..) i want to fetch the data using the GET event using my own selection screen inputs.
my selection screen inputs is equipmentnumber (equnr)
and the output list : 1.equnr "equipment number
2.shtxt "Equipment Description
3.tplnr "Functional Location
4.pltxt "Functional Location Description
5.qmnum "Notification Number
6.qmtxt "Notification Description
and so on ..........
how to do this ... can any one give sample code... or logicHi Victor,
I have a simple solution for this.i think it will help you.Do u have any idea about query designer in SAP.
by using it we can satisfy u r reuqirement.follow the below steps.
1)Go to SQ01
2)In the screen click on QuickViewer option.then you will go to another screen.
3)In that screen give any name starting with 'Z' in the QuickView box and then click on create.
4)In the dialogbox enter title and comments and then select LogicalDatabase as the DATASOURCE and give DataSourceLogicalDatabase as EQI.check the radio button Basis Mode and then click on ok.
5)then on the screen in the first half of leftside you will get another screen with the columns DATAFIELDS,LISTFIELDS,SELECTIONFIELDS,TECHNICALNAME.
6)In the DATAFIELDS column expand the tree,then u can see the fields what we have,and what you want.and also you can see the check boxes in front of the columns LISTFIELDS,SELECTIONFIELDS.
7)LISTFIELDS means the output fields,SELECTIONFIELDS means the selection screen fields(equnr).
check the checkboxes as per u r requirement and click on execute.
8)then a progam will be created.to know the program name after executing the program GO TO
SYSTEM->STATUS.then u can see the program name there.
If u know all these,let me know so that i can try for another solution.
Thanks,
N.K.C -
hi folks ,
i have created the GUI status for the program .. when i go on the out put screen i am not able to go back or cancel or exit , though i have created the GUI status and activated it as well .
my program is designed to display the user action on screen and it displays the value in the text field which can only accept output no inputs .
plz advice .
Thanks,
Abhishek .Hello,
Make sure that the function codes in the GUI status are written in capital letters only.Similarly in the PAI of the screen,in the case statement,the function codes have to be written in capital letters.I hope you have written the user-commands as the functionality has to be coded by the developer when he makes the GUI.
*& Module USER_COMMAND_0100 INPUT
text
MODULE USER_COMMAND_0100 INPUT.
case ok_code.
when 'BACK'.
leave to screen 100.
when 'EXIT'.
leave to screen 0.
when 'SAVE'.
....logic
ENDCASE.
endmodule.
Regards,
Beejal
**Reward if this helps -
Hr programming - logical database - macro
Hi everyone !
I use pnp logical database.
Now how the program familiar the macro RP-PROVIDE-FROM-FIRST
from table trmac ? ?
i know that macro can be familiar from the program between lines:
define .......
end-of-definition.
someone can explain to me ?Hi
See this sample program for using the LDB PNP and the MAcros
report zporgr0030
line-size 193
line-count 60(1)
no standard page heading
message-id zndc.
Database Tables
tables: pernr, " Logical PNP
t001p, " Personnel Subarea
t005t, " Country Descriptions
t500p, " Personnel Area
t501, " Employee Group
t503k, " Employee Subgroup
csks, " Cost Centers
cskt, " Cost Center Texts
t513c, " Job (Previous) Texts
t513s, " Job Titles
t517t, " Edn Est.Text
t518b, " Discipline Text
t519t, " Certificate Text
t528t, " Positions Texts
t538t, " Unit Text
pa0003. " Payroll Status
infotypes:
0000, " Actions
0001, " Organizational Assignment
0002, " Personal Data
0007, " Planned working time
0008, " Payroll Data
0022, " Education Data
0023, " Previous Employer data
0025, " Performance Appraisal Data
0041, " Date Spcifications
2001. " Absences
Declaration of Internal Tables
Internal Table for Personal Data
data: begin of pers_tab occurs 0,
pernr like pa0001-pernr, " Personal Number
ename like pa0001-ename, " Employee Name
trfgr like pa0008-trfgr, " Grade
natio like pa0002-natio, " Nationality
hdate like pa0041-dat01, " Hire Date
gbdat like pa0002-gbdat, " Birth Date
plans like pa0001-plans, " Position
werks like pa0001-werks, " Pers.Area
kostl like pa0001-kostl, " Cost Center
ctext(40), " Cost Center Text
ptext(25), " Position Text
ntext(15), " Nation Text
name1(23), " Location
end of pers_tab.
Internal Table for Payroll Data
data: begin of pay_tab occurs 0,
pernr like pa0008-pernr, " Personal Number
waers like pbwla-waers, " Grade
basic like pa0008-bet01, " Basic Pay
hra_allow like pa0008-bet01, " Housing Allowance
sup_allow like pa0008-bet01, " Supp. Allowance
soc_allow like pa0008-bet01, " Social Allowance
chl_allow like pa0008-bet01, " Child Allowance
fix_allow like pa0008-bet01, " Fixed Overtime
ra_allow like pa0008-bet01, " RA Allowance
per_allow like pa0008-bet01, " Perform. Allowance
pen_allow like pa0008-bet01, " Pension Allowance
oth_allow like pa0008-bet01, " Other Allowances
tot_allow like pa0008-bet01, " Total Allowances
end of pay_tab.
Internal Table for Educational Data
data: begin of edn_tab occurs 0,
pernr like pa0022-pernr, " Personal Number
ausbi like pa0022-ausbi, " Discipline Name
slart like pa0022-slart, " Edn Establishment
insti like pa0022-insti, " Institute
sland like pa0022-sland, " Country
slabs like pa0022-slabs, " Certificate
anzkl like pa0022-anzkl, " Duration
anzeh like pa0022-anzeh, " Unit for Duration
atext like t518b-atext, " Discipline Text
stext like t517t-stext, " Edn Est.Text
landx like t005t-landx, " Country Text
ctext like t519t-stext, " Certificate Text
etext like t538t-etext, " Unit Text
end of edn_tab.
Internal Table for Previous Employment Data
data: begin of pemp_tab occurs 0,
pernr like pa0023-pernr, " Personal Number
arbgb like pa0023-arbgb, " Previous Employer
begda like pa0023-begda, " Start Date
endda like pa0023-endda, " End Date
taete like pa0023-taete, " Last Position
land1 like pa0023-land1, " Country
stltx like t513s-stltx, " Position Text
landx like t005t-landx, " Country Text
end of pemp_tab.
Internal Table for Job History Data
data: begin of job_tab occurs 0,
pernr like pa0001-pernr, " Personal Number
begda like pa0001-begda, " Promotion Date
plans like pa0001-plans, " Position
stell like pa0001-stell, " Job Key
stltx like t513s-stltx, " Job Text
ptext like t528t-plstx, " Position Text
end of job_tab.
Internal Table for Performance Appraisal Data
data: begin of app_tab occurs 0,
pernr like pa0001-pernr, " Personal Number
year(4) type c, " Current Year
appr(35) type c, " C Y Appraisal
year1(4) type c, " Last Year
appr1(35) type c, " Last Year Appraisal
year2(4) type c,
appr2(35) type c,
year3(4) type c,
appr3(35) type c,
year4(4) type c,
appr4(35) type c,
end of app_tab.
Internal Table for Performance Appraisal Data
data: begin of app1_tab occurs 0,
year(4) type c, " Year
appr(35) type c, " Appraisal
end of app1_tab.
Internal Table to get the Payroll Amounts
data wage_tab like pbwla occurs 0 with header line.
Internal table for retreiving Employee Appraisals
data app_in_tab like hrsobid occurs 0 with header line .
data app_out_tab like hrpe_profa occurs 0 with header line .
Declaration of Variables
data : v_year(4) type c,
v_ayear(4) type c,
v_cyear(4) type c,
v_year1(4) type c,
v_year2(4) type c,
v_year3(4) type c,
v_year4(4) type c,
v_year5(4) type c,
v_year6(4) type c,
v_mon(2) type c,
v_date2 like sy-datum,
v_date3 like sy-datum,
v_date like sy-datum,
v_date1 like sy-datum.
Declaration of Constants
constants : c_x type c value 'X', " Sign
c_pernr(8) type n value '00000000', " Pernr
c_p like hrp1007-otype value 'P', " Object Type
c_01 like hrp1001-plvar value '01', " Version
c_val1(2) type c value '31', " Date Type
c_val2(2) type c value '12', " Date Type
c_val like p0041-dar01 value '01', " Date Type
c_1 like pernr-persg value '1', " Emp Group
c_type like hrp1001-otype value 'S', " Object Type
c_date1 like sy-datum value '18000101', " Date
c_date2 like sy-datum value '99991231', " Date
c_lga01 like pa0008-lga01 value '0101', " Wage Type
c_lga02 like pa0008-lga01 value '0102', " Wage Type
c_lga03 like pa0008-lga01 value '0103', " Wage Type
c_lga04 like pa0008-lga01 value '0105', " Wage Type
c_lga05 like pa0008-lga01 value '0109', " Wage Type
c_lga06 like pa0008-lga01 value '0110', " Wage Type
c_lga07 like pa0008-lga01 value '0114', " Wage Type
c_lga08 like pa0008-lga01 value '0116', " Wage Type
c_lga09 like pa0008-lga01 value '0267', " Wage Type
c_kokrs like cskt-kokrs value '1000'. " Controlling Area
Selection Screen
selection-screen begin of block b1 with frame title text-003.
selection-screen begin of line.
selection-screen comment 1(33) text-060.
parameters: r_all radiobutton group rb1.
selection-screen end of line.
selection-screen begin of line.
selection-screen comment 1(33) text-020.
parameters: r_per radiobutton group rb1.
selection-screen end of line.
selection-screen begin of line.
selection-screen comment 1(33) text-021.
parameters: r_pay radiobutton group rb1.
selection-screen end of line.
selection-screen begin of line.
selection-screen comment 1(33) text-022.
parameters: r_edn radiobutton group rb1.
selection-screen end of line.
selection-screen begin of line.
selection-screen comment 1(33) text-023.
parameters: r_pemp radiobutton group rb1.
selection-screen end of line.
selection-screen begin of line.
selection-screen comment 1(33) text-024.
parameters: r_job radiobutton group rb1.
selection-screen end of line.
selection-screen begin of line.
selection-screen comment 1(33) text-025.
parameters: r_app radiobutton group rb1.
selection-screen end of line.
selection-screen end of block b1.
At selection-screen
at selection-screen.
Validate the Selection Screen fields
perform validate_screen.
Start-of-Selection
start-of-selection.
Selection of Period
perform get_period.
Get PERNR from LDB
get pernr.
if pernr-persg eq c_1 or pernr-pernr ne c_pernr.
if r_all eq c_x.
Get the Personal data from PA0001,PA0002, PA0008, PA0041
perform get_pers_data.
Get the Payroll data from PA0008
perform get_pay_data.
Get the Education data from PA0022
perform get_edn_data.
Get the Previous Employment data from PA0023
perform get_pemp_data.
Get the Job History data
perform get_job_data.
Get the Performance Appraisal data
perform get_app_data.
elseif r_per eq c_x.
Get the Personal data from PA0001,PA0002, PA0008, PA0041
perform get_pers_data.
elseif r_pay eq c_x.
Get the Payroll data from PA0008
perform get_pay_data.
elseif r_edn eq c_x.
Get the Education data from PA0022
perform get_edn_data.
elseif r_pemp eq c_x.
Get the Previous Employment data from PA0023
perform get_pemp_data.
elseif r_job eq c_x.
Get the Job History data
perform get_job_data.
elseif r_app eq c_x.
Get the Performance Appraisal data
perform get_app_data.
endif.
endif.
Top-of-page
top-of-page.
Write the Report and Column Headings
perform top_of_page.
End-of-Page
end-of-page.
perform end_of_page.
End-of-Selection
end-of-selection.
Display the Output Report.
perform display_report.
Form-Routines
*& Form validate_screen
Validation of selection Screen fields
form validate_screen.
Validation of Personnel Number
clear pa0003.
if not pnppernr[] is initial.
select pernr
from pa0003 up to 1 rows
into pa0003-pernr
where pernr in pnppernr.
endselect.
if sy-subrc <> 0.
message e999 with 'Incorrect Personnel Number Entered'(001).
endif.
endif.
Validation of Cost Center
clear csks.
if not pnpkostl[] is initial.
select single kostl
into csks-kostl
from csks
where kostl in pnpkostl.
if sy-subrc <> 0.
message e999 with 'Invalid Cost Center'(002).
endif.
endif.
Validation of Personnel Area
clear t500p.
if not pnpwerks[] is initial.
select persa
from t500p up to 1 rows
into t500p-persa
where persa in pnpwerks.
endselect.
if sy-subrc <> 0.
message e999 with 'Incorrect Personnel Area Entered'(004).
endif.
endif.
Validation of Personnel Sub Area
clear t001p.
if not pnpbtrtl[] is initial.
select btrtl
from t001p up to 1 rows
into t001p-btrtl
where btrtl in pnpbtrtl.
endselect.
if sy-subrc <> 0.
message e999 with 'Incorrect Personnel Sub Area Entered'(005).
endif.
endif.
Validation of Employee Group
clear t501.
if not pnppersg[] is initial.
select persg
from t501 up to 1 rows
into t501-persg
where persg in pnppersg.
endselect.
if sy-subrc <> 0.
message e999 with 'Incorrect Employee Group Entered'(006).
endif.
endif.
Validation of Employee Sub Group
clear t503k.
if not pnppersk[] is initial.
select persk
from t503k up to 1 rows
into t503k-persk
where persk in pnppersk.
endselect.
if sy-subrc <> 0.
message e999 with 'Incorrect Employee Sub Group Entered'(007).
endif.
endif.
endform. "validate_screen
*& Form get_period
Get the Correct Period based on Selection screen selection
form get_period.
clear: v_year,v_mon, v_date, v_date1.
v_year = sy-datum+0(4).
v_mon = sy-datum+4(2).
if pnptimr1 = c_x. " Current Date
pnpbegda = sy-datum.
pnpendda = sy-datum.
elseif pnptimr2 = c_x. " Current Month
concatenate v_year v_mon c_val into v_date.
concatenate v_year v_mon c_val1 into v_date1.
pnpbegda = v_date.
pnpendda = v_date1.
elseif pnptimr3 = c_x. " Current Year
concatenate v_year c_val c_val into v_date.
concatenate v_year c_val2 c_val1 into v_date1.
pnpbegda = v_date.
pnpendda = v_date1.
elseif pnptimr4 = c_x. " Upto Today
pnpbegda = c_date1.
pnpendda = sy-datum.
elseif pnptimr5 = c_x. " From Today
pnpbegda = sy-datum.
pnpendda = c_date2.
else.
if ( pnpbegda is initial and pnpendda is initial ).
pnpbegda = c_date1.
pnpendda = c_date2.
elseif pnpbegda is initial and not pnpendda is initial.
pnpbegda = c_date1.
pnpendda = pnpendda.
elseif not ( pnpbegda is initial and pnpendda is initial ).
pnpbegda = pnpbegda.
pnpendda = pnpendda.
endif.
endif.
endform. "get_period
*& Form get_pers_data
Get the Personal Data from PA0001,PA0002,PA0008, PA0041
form get_pers_data.
Get data from Respective Infotypes
rp_provide_from_last p0001 space pnpbegda pnpendda.
rp_provide_from_last p0002 space pnpbegda pnpendda.
rp_provide_from_last p0008 space pnpbegda pnpendda.
rp_provide_from_last p0041 space pnpbegda pnpendda.
pers_tab-pernr = p0001-pernr.
pers_tab-ename = p0001-ename.
pers_tab-werks = p0001-werks.
pers_tab-plans = p0001-plans.
pers_tab-kostl = p0001-kostl.
pers_tab-gbdat = p0002-gbdat.
pers_tab-trfgr = p0008-trfgr.
Get the Engaged Date
read table p0041 with key dar01 = c_val.
if sy-subrc = 0.
pers_tab-hdate = p0041-dat01.
endif.
Get the Cost Center Text
clear cskt-ltext.
select single ltext into cskt-ltext from cskt
where spras = sy-langu and
kokrs = c_kokrs and
kostl = p0001-kostl.
if sy-subrc = 0.
pers_tab-ctext = cskt-ltext.
endif.
Get the Position Text
clear t528t-plstx.
select single plstx into t528t-plstx from t528t
where plans = p0001-plans and
otype = c_type and
sprsl = sy-langu.
if sy-subrc = 0.
pers_tab-ptext = t528t-plstx.
endif.
Get the Nationality
clear t005t-natio.
select single natio into t005t-natio from t005t
where spras = sy-langu and
land1 = p0002-natio.
if sy-subrc = 0.
pers_tab-ntext = t005t-natio.
endif.
Get the Location (Personal Area) Text
clear t500p-name1.
select single name1 into t500p-name1 from t500p
where persa = p0001-werks.
if sy-subrc = 0.
pers_tab-name1 = t500p-name1.
endif.
append pers_tab.
clear pers_tab.
sort pers_tab by pernr.
endform. "get_pers_data
*& Form get_pay_data
Get the Payroll Data from Infotype 0008
form get_pay_data.
Get the Payroll data from Respective Infotypes
rp_provide_from_last p0008 space pnpbegda pnpendda.
pay_tab-pernr = pernr-pernr.
call function 'RP_FILL_WAGE_TYPE_TABLE_EXT'
exporting
appli = 'E'
begda = p0008-begda
endda = p0008-endda
infty = '0008'
objps = ' '
tclas = 'A'
pernr = pernr-pernr
seqnr = ' '
subty = '0 '
dlspl = 'X'
msgflg = ''
nordct = ''
tables
pp0001 = p0001
pp0007 = p0007
pp0008 = p0008
ppbwla = wage_tab
PP0230 =
PP0014 =
PP0015 =
PP0052 =
EXCEPTIONS
ERROR_AT_INDIRECT_EVALUATION = 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.
loop at wage_tab.
pay_tab-waers = wage_tab-waers.
case wage_tab-lgart.
when c_lga01.
pay_tab-basic = wage_tab-betrg.
when c_lga02.
pay_tab-sup_allow = wage_tab-betrg.
when c_lga03.
pay_tab-hra_allow = wage_tab-betrg.
when c_lga04.
pay_tab-chl_allow = wage_tab-betrg.
when c_lga05.
pay_tab-soc_allow = wage_tab-betrg.
when c_lga06.
pay_tab-fix_allow = wage_tab-betrg.
when c_lga07.
pay_tab-ra_allow = wage_tab-betrg.
when c_lga08.
pay_tab-per_allow = wage_tab-betrg.
when c_lga09.
pay_tab-pen_allow = wage_tab-betrg.
when others.
pay_tab-oth_allow = pay_tab-oth_allow + wage_tab-betrg.
endcase.
pay_tab-tot_allow = pay_tab-basic + pay_tab-sup_allow +
pay_tab-hra_allow + pay_tab-chl_allow +
pay_tab-soc_allow + pay_tab-fix_allow +
pay_tab-ra_allow + pay_tab-per_allow +
pay_tab-oth_allow - pay_tab-pen_allow.
endloop.
append pay_tab.
clear pay_tab.
endform. "get_pay_data
*& Form get_edn_data
Get the Education Data from Infotype 0022
form get_edn_data.
Get the Education data from Respective Infotypes
loop at p0022 where pernr = pernr-pernr.
edn_tab-pernr = pernr-pernr.
edn_tab-ausbi = p0022-ausbi.
edn_tab-slart = p0022-slart.
edn_tab-insti = p0022-insti.
edn_tab-sland = p0022-sland.
edn_tab-slabs = p0022-slabs.
edn_tab-anzkl = p0022-anzkl.
edn_tab-anzeh = p0022-anzeh.
Get the Discipline Text
clear t518b-atext.
select single atext into t518b-atext from t518b
where langu = sy-langu and
ausbi = p0022-ausbi.
if sy-subrc = 0.
edn_tab-atext = t518b-atext.
endif.
Get the Edn Establishment Text
clear t517t-stext.
select single stext into t517t-stext from t517t
where slart = p0022-slart and
sprsl = sy-langu.
if sy-subrc = 0.
edn_tab-stext = t517t-stext.
endif.
Get the Certificate Text
clear t519t-stext.
select single stext into t519t-stext from t519t
where slabs = p0022-slabs and
sprsl = sy-langu.
if sy-subrc = 0.
edn_tab-ctext = t519t-stext.
endif.
Get the Unit Text
clear t538t-etext.
select single etext into t538t-etext from t538t
where zeinh = p0022-anzeh and
sprsl = sy-langu.
if sy-subrc = 0.
edn_tab-etext = t538t-etext.
endif.
Get the Country Description
clear t005t-landx.
select single landx into t005t-landx from t005t
where spras = sy-langu and
land1 = p0022-sland.
if sy-subrc = 0.
edn_tab-landx = t005t-landx.
endif.
append edn_tab.
clear edn_tab.
endloop.
endform. "edn_data
*& Form get_pemp_data
Get the Previous Employment Data from Infotype 0023
form get_pemp_data.
Get the Previous Employment data from Respective Infotypes
loop at p0023 where pernr = pernr-pernr.
pemp_tab-pernr = pernr-pernr.
pemp_tab-arbgb = p0023-arbgb.
pemp_tab-begda = p0023-begda.
pemp_tab-endda = p0023-endda.
pemp_tab-taete = p0023-taete.
pemp_tab-land1 = p0023-land1.
Get the Last Job Text
clear t513c-ltext.
select single ltext into t513c-ltext from t513c
where taete = pemp_tab-taete and
spras = sy-langu.
if sy-subrc = 0.
pemp_tab-stltx = t513c-ltext.
endif.
Get the Country Description
clear t005t-landx.
select single landx into t005t-landx from t005t
where spras = sy-langu and
land1 = pemp_tab-land1.
if sy-subrc = 0.
pemp_tab-landx = t005t-landx.
endif.
append pemp_tab.
clear pemp_tab.
endloop.
sort pemp_tab by pernr.
endform. "pemp_data
*& Form get_job_data
Get the Job History Data from Infotype
form get_job_data.
Get the Job History data from Respective Infotypes
loop at p0001 where pernr = pernr-pernr.
job_tab-pernr = pernr-pernr.
job_tab-begda = p0001-begda.
job_tab-plans = p0001-plans.
job_tab-stell = p0001-stell.
Get the Last Job Text
clear t513s-stltx.
select single stltx into t513s-stltx from t513s
where stell = job_tab-stell and
sprsl = sy-langu.
if sy-subrc = 0.
job_tab-stltx = t513s-stltx.
endif.
Get the Position Text
clear t528t-plstx.
select single plstx into t528t-plstx from t528t
where plans = job_tab-plans and
otype = c_type and
sprsl = sy-langu.
if sy-subrc = 0.
job_tab-ptext = t528t-plstx.
endif.
append job_tab.
clear job_tab.
endloop.
sort job_tab by pernr.
endform. "get_job_data
*& Form get_app_data
Get the Performance Appraisal Data from Infotype
form get_app_data.
clear: v_cyear, v_year1, v_year2, v_year3, v_year4,
v_year5, v_year6, v_ayear, v_date2, v_date3.
v_cyear = sy-datum+0(4) - 1.
v_year1 = v_cyear - 1.
v_year2 = v_cyear - 2.
v_year3 = v_cyear - 3.
v_year4 = v_cyear - 4.
v_year5 = v_cyear - 5.
v_year6 = v_cyear - 6.
concatenate v_cyear c_date2+4(4) into v_date2.
concatenate v_year6 c_date1+4(4) into v_date3.
clear: app_in_tab, app_out_tab.
refresh: app_in_tab, app_out_tab.
app_in_tab-plvar = c_01.
app_in_tab-otype = c_p.
app_in_tab-sobid = pernr-pernr.
append app_in_tab.
Get Appraisals data from Respective Infotypes
call function 'RHPA_APPRAISEES_APP_READ'
exporting
begda = v_date3
endda = v_date2
WITH_STEXT = 'X'
WITH_ADD_INFO = 'X'
tables
appraisees = app_in_tab
appraisals = app_out_tab
exceptions
no_authority = 1
undefined = 2
others = 3
if sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
endif.
sort app_out_tab by sobid vbegd vendd appraisal_adate descending .
delete adjacent duplicates from app_out_tab
comparing sobid vbegd vendd.
loop at app_out_tab where appraisal_histo = 'X' .
condense app_out_tab-appraisal_result.
app1_tab-year = app_out_tab-vendd+0(4).
app1_tab-appr = app_out_tab-appraisal_result_text.
append app1_tab.
clear app1_tab.
endloop.
sort app1_tab by year descending.
loop at app1_tab.
app_tab-pernr = pernr-pernr.
move-corresponding app1_tab to app_tab.
append app_tab.
clear: app1_tab, app_tab.
endloop.
refresh app1_tab.
sort app_tab by pernr.
delete app_tab where year = ' ' and appr = ' ' .
endform. "get_app_data
*& Form top_of_page
Write the Report and Column Headings
form top_of_page.
skip.
format color col_heading on.
if r_all eq c_x.
write: /1(193) 'NATIONAL DRILLING COMPANY'(009) centered,
/1(193) 'Employee Details Report'(066) centered.
elseif r_per eq c_x.
write: /1(193) 'NATIONAL DRILLING COMPANY'(009) centered,
/1(193) 'Employee Details - Personal Data'(010)
centered.
elseif r_pay eq c_x.
write: /1(172) 'NATIONAL DRILLING COMPANY'(009) centered,
/1(172) 'Employee Details - Payroll Data'(027)
centered.
elseif r_edn eq c_x.
write: /1(172) 'NATIONAL DRILLING COMPANY'(009) centered,
/1(172) 'Employee Details - Education Data'(028)
centered.
elseif r_pemp eq c_x.
write: /1(97) 'NATIONAL DRILLING COMPANY'(009) centered,
/1(97) 'Employee Details - Previous Employment Data'(029)
centered.
elseif r_job eq c_x.
write: /1(75) 'NATIONAL DRILLING COMPANY'(009) centered,
/1(75) 'Employee Details - Job History Data'(030)
centered.
elseif r_app eq c_x.
write: /1(192) 'NATIONAL DRILLING COMPANY'(009) centered,
/1(192) 'Employee Details - Performance Appraisal Data'(031)
centered.
endif.
format color off.
if pnptimr1 = c_x. " Current Date
write: /2 'Period From :'(008), sy-datum,
'To:'(019), sy-datum.
elseif pnptimr2 = c_x. " Current Month
write: /2 'Period From :'(008), v_date, 'To:'(019), v_date1.
elseif pnptimr3 = c_x. " Current Year
write: /2 'Period From :'(008), v_date, 'To:'(019), v_date1.
elseif pnptimr4 = c_x. " Upto Today
write: /2 'Period From :'(008), c_date1, 'To:'(019), sy-datum.
elseif pnptimr5 = c_x. " From Today
write: /2 'Period From :'(008), sy-datum, 'To:'(019), c_date2.
else.
if ( pnpbegda is initial and pnpendda is initial ).
write: /2 'Period From :'(008), c_date1, 'To:'(019), c_date2.
elseif pnpbegda is initial and not pnpendda is initial.
write: /2 'Period From :'(008), c_date1, 'To:'(019), pnpendda.
elseif not ( pnpbegda is initial and pnpendda is initial ).
write: /2 'Period From :'(008), pnpbegda,
'To:'(019), pnpendda.
endif.
endif.
if not ( r_pemp eq c_x or r_job eq c_x ).
write: 140 'Report Run Date:'(073), sy-datum.
if not pnpkostl[] is initial.
if pnpkostl-high is initial.
write: /2 'Cost Center :'(074), pnpkostl-low,
125 'Time :'(075), sy-uzeit.
else.
write: /2 'Cost Center From:'(076), pnpkostl-low+7(3),
'To:'(019), pnpkostl-high,
140 'Time :'(075), sy-uzeit.
endif.
else.
write: /140 'Time :'(075), sy-uzeit.
endif.
if not pnppernr[] is initial.
if pnppernr-high is initial.
write: /2 'Personal Number :'(077), pnppernr-low,
140 'User :'(078), sy-uname.
else.
write: /2 'Personal No.From:'(079), pnppernr-low,
'To:'(019), pnppernr-high,
140 'User :'(078), sy-uname.
endif.
else.
write: /140 'User :'(078), sy-uname.
endif.
write: /140 'Page No :'(080), sy-pagno.
else.
write: 48 'Report Run Date:'(073), sy-datum.
if not pnpkostl[] is initial.
if pnpkostl-high is initial.
write: /2 'Cost Center :'(074), pnpkostl-low,
48 'Time :'(075), sy-uzeit.
else.
write: /2 'Cost Center From:'(076), pnpkostl-low+7(3),
'To:'(019), pnpkostl-high,
48 'Time :'(075), sy-uzeit.
endif.
else.
write: /48 'Time :'(075), sy-uzeit.
endif.
if not pnppernr[] is initial.
if pnppernr-high is initial.
write: /2 'Personal Number :'(077), pnppernr-low,
48 'User :'(078), sy-uname.
else.
write: /2 'Personal No.From:'(079), pnppernr-low,
'To:'(019), pnppernr-high,
48 'User :'(078), sy-uname.
endif.
else.
write: /48 'User :'(078), sy-uname.
endif.
write: /48 'Page No :'(080), sy-pagno.
endif.
skip.
if r_per eq c_x.
write /1(193) sy-uline.
format color col_heading on.
write:/1 sy-vline, 2(10) 'Employee #'(011),
12 sy-vline, 13(40) 'Name'(012) centered,
53 sy-vline, 54(8) 'Grade'(013) centered,
62 sy-vline, 63(15) 'Nationality'(017) centered,
78 sy-vline, 79(10) 'Eng.Date'(014) centered,
89 sy-vline, 90(10) 'Birth Date'(016) centered,
100 sy-vline,101(25) 'Location'(026) centered,
126 sy-vline,127(25) 'Position'(015) centered,
152 sy-vline,153(40) 'Division'(018) centered,
193 sy-vline.
format color off.
write /1(193) sy-uline.
elseif r_pay eq c_x.
write /1(188) sy-uline.
format color col_heading on.
write:/1 sy-vline, 2(10) 'Employee #'(011),
12 sy-vline, 13(15) 'Basic'(033) centered,
28 sy-vline, 29(15) 'Housing Allow.'(034) centered,
44 sy-vline, 45(15) 'Sup.Allow.'(035) centered,
60 sy-vline, 61(15) 'Social Allow.'(036) centered,
76 sy-vline, 77(15) 'Child Allow.'(037) centered,
92 sy-vline, 93(15) 'Fixed Overtime'(038) centered,
108 sy-vline,109(15) 'R.A.Allow.'(041) centered,
124 sy-vline,125(15) 'Perform.Allow.'(039) centered,
140 sy-vline,141(15) 'Pension.Allow.'(059) centered,
156 sy-vline,157(15) 'Others'(040) centered,
172 sy-vline,173(15) 'Total'(042) centered,
188 sy-vline.
format color off.
write /1(188) sy-uline.
elseif r_edn eq c_x.
write /1(172) sy-uline.
format color col_heading on.
write:/1 sy-vline, 2(10) 'Employee #'(011),
12 sy-vline, 13(25) 'Discipline'(043) centered,
38 sy-vline, 39(20) 'Edu.Establishment'(044) centered,
59 sy-vline, 60(45) 'Institute'(045) centered,
105 sy-vline,106(15) 'Country'(046) centered,
121 sy-vline,122(30) 'Certificate'(047) centered,
152 sy-vline,153(19) 'Duration of Course'(048) centered,
172 sy-vline.
format color off.
write /1(172) sy-uline.
elseif r_pemp eq c_x.
write /1(97) sy-uline.
format color col_heading on.
write:/1 sy-vline, 12 sy-vline,
33 sy-vline, 34(21) 'Employment Period'(055) centered,
55 sy-vline, 81 sy-vline,
97 sy-vline.
write:/1 sy-vline, 2(10) 'Employee #'(011),
12 sy-vline, 13(20) 'Employer'(049) centered,
33 sy-vline, 34(10) 'From'(050) centered,
44 sy-vline, 45(10) 'To'(051) centered,
55 sy-vline, 56(25) 'Last Position'(052) centered,
81 sy-vline, 82(15) 'Country'(053) centered,
97 sy-vline.
format color off.
write /1(97) sy-uline.
elseif r_job eq c_x.
write /1(75) sy-uline.
format color col_heading on.
write:/1 sy-vline,
12 sy-vline,13(10) 'Date of'(054) centered,
23 sy-vline,49 sy-vline,
75 sy-vline.
write:/1 sy-vline,2(10) 'Employee #'(011),
12 sy-vline,13(10) 'Upgrading/'(058) centered,
23 sy-vline,24(25) 'Position'(015) centered,
49 sy-vline,50(25) 'Job'(056) centered,
75 sy-vline.
write:/1 sy-vline, 12 sy-vline,
13(10) 'Promotion'(057) centered,
23 sy-vline, 49 sy-vline,
75 sy-vline.
format color off.
write /1(75) sy-uline.
elseif r_app eq c_x.
format color col_heading on.
write: /1 sy-vline,2(56) sy-uline, 58 sy-vline,
/1 sy-vline, 2(56) text-025 centered color 3, 58 sy-vline.
write /1(58) sy-uline.
format color col_heading on.
write:/1 sy-vline, 2(10) 'Employee #'(011),
12 sy-vline, 13(4) 'Year'(067),
17 sy-vline, 18(40) 'Appraisal Text'(068) centered,
58 sy-vline.
format color off.
write /1(58) sy-uline.
endif.
endform. "top_of_page
*& Form end_of_page
Write the Page footers
form end_of_page.
if r_per eq c_x.
write : /(193) sy-uline.
elseif r_pay eq c_x.
write : /(188) sy-uline.
elseif r_edn eq c_x.
write : /(172) sy-uline.
elseif r_pemp eq c_x.
write /1(97) sy-uline.
elseif r_job eq c_x.
write /1(75) sy-uline.
elseif r_app eq c_x.
write /1(217) sy-uline.
endif.
endform. "end_of_page
*& Form Display_report
Write the Report Output
form display_report.
if r_all eq c_x.
if pers_tab[] is initial.
message i999 with
'No Personal Data found'(061).
else.
write: /1 sy-vline,2(51) sy-uline, 53 sy-vline,
/1 sy-vline, 2(50) text-020 centered color 3, 53 sy-vline.
write /1(193) sy-uline.
format color col_heading on.
write:/1 sy-vline, 2(10) 'Employee #'(011),
12 sy-vline, 13(40) 'Name'(012) centered,
53 sy-vline, 54(8) 'Grade'(013) centered,
62 sy-vline, 63(15) 'Nationality'(017) centered,
78 sy-vline, 79(10) 'Eng.Date'(014) centered,
89 sy-vline, 90(10) 'Birth Date'(016) centered,
100 sy-vline,101(25) 'Location'(026) centered,
126 sy-vline,127(25) 'Position'(015) centered,
152 sy-vline,153(40) 'Division'(018) centered,
193 sy-vline.
format color off.
write /1(193) sy-uline.
sort pers_tab by pernr.
loop at pers_tab.
format color col_normal.
write:/1 sy-vline, 2(10) pers_tab-pernr,
12 sy-vline, 13(40) pers_tab-ename,
53 sy-vline, 56(6) pers_tab-trfgr,
62 sy-vline, 63(15) pers_tab-ntext,
78 sy-vline, 79(10) pers_tab-hdate,
89 sy-vline, 90(10) pers_tab-gbdat,
100 sy-vline,101(25) pers_tab-name1,
126 sy-vline,127(25) pers_tab-ptext,
152 sy-vline,153(40) pers_tab-ctext,
193 sy-vline.
endloop.
write /1(193) sy-uline.
endif.
skip 3.
if pay_tab[] is initial.
message i999 with
'No Standard Pay Data found'(062).
else.
write: /1 sy-vline,2(42) sy-uline, 44 sy-vline,
/1 sy-vline, 2(42) text-021 centered color 3, 44 sy-vline.
format color col_heading on.
write /1(188) sy-uline.
write:/1 sy-vline, 2(10) 'Employee #'(011),
12 sy-vline, 13(15) 'Basic'(033) centered,
28 sy-vline, 29(15) 'Housing Allow.'(034) centered,
44 sy-vline, 45(15) 'Sup.Allow.'(035) centered,
60 sy-vline, 61(15) 'Social Allow.'(036) centered,
76 sy-vline, 77(15) 'Child Allow.'(037) centered,
92 sy-vline, 93(15) 'Fixed Overtime'(038) centered,
108 sy-vline,109(15) 'R.A.Allow.'(041) centered,
124 sy-vline,125(15) 'Perform.Allow.'(039) centered,
140 sy-vline,141(15) 'Pension.Allow.'(059) centered,
156 sy-vline,157(15) 'Others'(040) centered,
172 sy-vline,173(15) 'Total'(042) centered,
188 sy-vline.
format color off.
write /1(188) sy-uline.
sort pay_tab by pernr.
loop at pay_tab.
format color col_normal.
write:/1 sy-vline, 2(10) pay_tab-pernr,
12 sy-vline,
13(15) pay_tab-basic currency pay_tab-waers no-zero,
28 sy-vline,
29(15) pay_tab-hra_allow currency pay_tab-waers no-zero,
44 sy-vline,
45(15) pay_tab-sup_allow currency pay_tab-waers no-zero,
60 sy-vline,
61(15) pay_tab-soc_allow currency pay_tab-waers no-zero,
76 sy-vline,
77(15) pay_tab-chl_allow currency pay_tab-waers no-zero,
92 sy-vline,
93(15) pay_tab-fix_allow currency pay_tab-waers no-zero,
108 sy-vline,
109(15) pay_tab-ra_allow currency pay_tab-waers no-zero,
124 sy-vline,
125(15) pay_tab-per_allow currency pay_tab-waers no-zero,
140 sy-vline.
pay_tab-pen_allow = pay_tab-pen_allow * -1.
write: 141(15) pay_tab-pen_allow currency pay_tab-waers no-zero,
156 sy-vline,
157(15) pay_tab-oth_allow currency pay_tab-waers no-zero,
172 sy-vline,
173(15) pay_tab-tot_allow currency pay_tab-waers no-zero,
188 sy-vline.
endloop.
write /1(188) sy-uline.
endif.
skip 3.
if edn_tab[] is in -
Tables or Logical database to create standard report for Equipment BOM?
Dear All
My client has requirement for the report with fields like to see the status of Equipment BOM(input of Equipment number in selection screen) or for Particular set of Materials(input of component number in selection screen) available stock quantity,storage location of stock,description of component,price of component,Pending PR of component(if any),Pending PO of component(if any) etc
I want to develop the report with standard infoset query instead of going for abap development.is there any logical database to map the report or what tables can i use for table joins??
Required sample report with fields as below
BOM Component
Stock available/Not available indicator
Description of Components
BOMQty/ UOM
Price
Part Number
Plnt
Sloc
Stock Qty
Bin
Pending PR
Pending PO
1000001121
YES
BEARING
NO
2000
ERS22
1000
MECH
4
A1
300012431
Regards
M.ManojkumarManoj,
The following is the tested solution.
Table join
Output
This figure shows the case of a Equipment BOM where 3 components are there. Installed Quantity are 4, 1, 1 respectively. Last two columns are showing the Storage Locations and the Stocks available.
Fields taken to output are
From STPO : IDNRK MENGE MEINS
From MARD LGORT LABST
As said before, more than this you can not do in SQVI. With this basic join in SQ02, using codes in Extras you can do much more.
Jogeswara Rao K -
HR Reporing Payroll using Logical Database PNPCE
Hi ALL
Can any body explain me how can we do HR Payroll reporing using logical database PNPCE.
In the program attibutes as mentioned we need to scee 900 for payroll reporting, but when I use PNPCE I cant see that screen in the Dropdown.
can any body help me with this.
regards
AJcheck this program..
REPORT ZHR_PAYROLL_EX1
MESSAGE-ID ZZ
LINE-SIZE 132
LINE-COUNT 64(2)
NO STANDARD PAGE HEADING .
T A B L E S *
TABLES : PA0001 , "Infotype 0001
PCL1, "HR Cluster 1
PCL2, "HR Cluster 2
T549A, "Payroll Accounting Areas
T549Q. "Payroll Periods
I N C L U D E S *
*--Standard Include for US Payroll
INCLUDE RPC2RUU0. "Cluster RD data definition
INCLUDE RPC2CD00. "Cluster CD Data-Definition
INCLUDE RPC2CA00. "Cluster CA Data-Definition
INCLUDE RPC2RX00. "Cluster RF data definition internat. part
INCLUDE RPPPXD00. "Data definition buffer PCL1/PCL2
INCLUDE RPPPXD10. "Common part buffer PCL1/PCL2
INCLUDE RPPPXM00. "Buffer handling routine
INTERNAL TABLES
*Internal Table to Hold data from PA0001
DATA : BEGIN OF I_0001 OCCURS 0,
PERNR LIKE PA0001-PERNR, "Personnel Number
END OF I_0001.
*Internal Table to Hold data from PA0001
DATA : BEGIN OF I_FINAL OCCURS 0,
PERNR LIKE PA0001-PERNR, "Personnel Number
GAMNT LIKE PC207-BETRG, "Gross Amount
NTAMT LIKE PC207-BETRG, "Net Amount
PAYDT LIKE PC261-PAYDT, "Pay Date
RUNDT LIKE PC261-RUNDT, "Run Date
VORNA LIKE PA0002-VORNA, "First Name
NACHN LIKE PA0002-NACHN, "Last Name
END OF I_FINAL.
*Internal Table to Hold data from PA0002
DATA : BEGIN OF I_0002 OCCURS 0,
PERNR LIKE PA0002-PERNR, "Personnel Number
VORNA LIKE PA0002-VORNA, "First Name
NACHN LIKE PA0002-NACHN, "Last Name
END OF I_0002.
Control record type
TYPES : BEGIN OF T_T569V,
ABKRS LIKE T569V-ABKRS, "Personnel Area
PABRJ LIKE T569V-PABRJ, "Accounting year
PABRP LIKE T569V-PABRP, "Accounting period
STATE LIKE T569V-STATE, "Status of Control Record
ADRUN LIKE T569V-ADRUN, "HR: Special payroll run
END OF T_T569V.
STRUCTURES
DATA : WA_T569V TYPE T_T569V. " Work area for t569v
DATA
DATA : V_PABRJ LIKE T569V-PABRJ, "Accounting year
V_PABRP LIKE T569V-PABRP, "Accounting period
V_BEGDA LIKE SY-DATUM, "Begin Date
V_ENDDA LIKE SY-DATUM, "End Date
V_FPPER(6) TYPE C, "For Period
V_SEQNR LIKE PC261-SEQNR. "Sequence Number
SELECTION SCREEN
Selectio Screen Block for Employee Selection.
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
SELECT-OPTIONS : S_PERNR FOR PA0001-PERNR, "Pernr
S_DATE FOR SY-DATUM. "Date
SELECTION-SCREEN END OF BLOCK B1.
START-OF-SELECTION
START-OF-SELECTION.
*Get Data from pa0001
PERFORM GET_DATA_FROM_0001.
*Get Data from pa0001
PERFORM GET_DATA_FROM_0002.
*Get CHAD Details
PERFORM GET_PAYDATA.
END-OF-SELECTION
END-OF-SELECTION.
IF NOT I_FINAL[] IS INITIAL.
*Print the Final Report.
PERFORM PRINT_REPORT.
ENDIF.
T O P O F P A G E
TOP-OF-PAGE.
Display Header
PERFORM DISPLAY_HEADER.
S U B - R O U T I N E S
*& Form get_data_from_0001
Get Data from 0001
FORM GET_DATA_FROM_0001.
SELECT PERNR "Personnel Number
FROM PA0001
INTO TABLE I_0001
WHERE PERNR IN S_PERNR AND
ENDDA >= S_DATE-LOW AND
BEGDA <= S_DATE-HIGH .
IF SY-SUBRC = 0.
SORT I_0001 BY PERNR.
ENDIF.
ENDFORM. " get_data_from_0001
*& Form get_data_from_0002
Get Data from 0002
FORM GET_DATA_FROM_0002.
SELECT PERNR "Personnel Number
VORNA
NACHN
FROM PA0002
INTO TABLE I_0002
WHERE PERNR IN S_PERNR AND
ENDDA >= S_DATE-LOW AND
BEGDA <= S_DATE-HIGH .
IF SY-SUBRC = 0.
SORT I_0002 BY PERNR.
ENDIF.
ENDFORM. " get_data_from_0002
*& Form populate_chad_coinage_table
text
FORM GET_PAYDATA.
LOOP AT I_0001.
READ TABLE I_0002 WITH KEY PERNR = I_0001-PERNR BINARY SEARCH.
IF SY-SUBRC = 0.
I_FINAL-VORNA = I_0002-VORNA.
I_FINAL-NACHN = I_0002-NACHN.
ENDIF.
Read Result Directory for Payroll Results for a Employee.
PERFORM CU_READ_RGDIR.
Get Sequence Number & Associated Payroll Results.
PERFORM GET_PAYROLL_RESULTS.
ENDLOOP.
ENDFORM. " get_paydata
*& Form cu_read_rgdir
Reag rgdir to get the results with conty grouping 'TD'
FORM CU_READ_RGDIR.
DATA : V_MOLGA LIKE T500L-MOLGA ."Country Grouping
*Call function module to get Results
CALL FUNCTION 'CU_READ_RGDIR'
EXPORTING
PERSNR = I_0001-PERNR
IMPORTING
MOLGA = V_MOLGA
TABLES
IN_RGDIR = RGDIR
EXCEPTIONS
NO_RECORD_FOUND = 1
OTHERS = 2.
SORT RGDIR BY SEQNR.
ENDFORM. " cu_read_rgdir
*& Form get_payroll_results
Get Sequence number
FORM GET_PAYROLL_RESULTS.
LOOP AT RGDIR WHERE SRTZA = 'A' AND
VOID IS INITIAL AND
REVERSAL IS INITIAL AND
OUTOFSEQ IS INITIAL AND
PAYDT IN S_DATE.
V_SEQNR = RGDIR-SEQNR.
*-- Macro Call for Germany
RP-INIT-BUFFER.
RX-KEY-PERNR = I_0001-PERNR.
RX-KEY-SEQNO = V_SEQNR.
RP-IMP-C2-RU.
LOOP AT RT WHERE LGART = '/559'.
I_FINAL-PERNR = I_0001-PERNR.
I_FINAL-GAMNT = RT-BETRG.
I_FINAL-PAYDT = RGDIR-PAYDT.
I_FINAL-RUNDT = RGDIR-RUNDT.
APPEND I_FINAL.
CLEAR I_FINAL.
ENDLOOP.
ENDLOOP.
ENDFORM. "get_payroll_results
*& Form display_header
Display Header
FORM DISPLAY_HEADER .
FORMAT COLOR 1.
ULINE.
WRITE:/1 SY-VLINE,
(15) 'Empl Number',
SY-VLINE,
(20) 'First Name',
SY-VLINE,
(20) 'Last Name',
SY-VLINE,
(15) 'Pay Date',
SY-VLINE,
(15) 'Run Date',
SY-VLINE,
(25) 'Gross Amount',
132 SY-VLINE.
ULINE.
FORMAT COLOR OFF.
ENDFORM. " display_header
*& Form print_report
Display Report
FORM PRINT_REPORT .
LOOP AT I_FINAL.
WRITE:/1 SY-VLINE,
(15) I_FINAL-PERNR,
SY-VLINE,
(20) I_FINAL-VORNA,
SY-VLINE,
(20) I_FINAL-NACHN,
SY-VLINE,
(15) I_FINAL-PAYDT,
SY-VLINE,
(15) I_FINAL-RUNDT,
SY-VLINE,
(25) I_FINAL-GAMNT,
132 SY-VLINE.
ULINE.
ENDLOOP.
SKIP 2.
WRITE:/1 'Period Begin Date:',(25) V_BEGDA.
WRITE:/1 'Period End Date:',(25) V_ENDDA.
ENDFORM. " print_report -
Standard screen for PNP logical database
hello All,
I am using PNP logical database and i have modified the standard selection screen for PNP.
But now there is a button that appears , although the rest is supressed as i wanted it to.
Our forums active contrubutor suresh datti has provided me a solution before to go to sytem then status and then click screen 100 then invisible the push button and activate and re-execute the program. The method seems to work fine. But surprisingly after some time the button appears again..
any idea..??
thanks,
Reena..>>>I do not knw how to create a variant or how variant are related to selection screens..can u please elaborate..
Don't worry..then its not the issue..
anyway Pl take a look at the following <a href="http://help.sap.com/saphelp_erp2005vp/helpdata/en/c0/980374e58611d194cc00a0c94260a5/frameset.htm">SAP Help</a> on Variants.
~Suresh -
SFLIGHT is NOT defined for the current logical database.
I have just started learning ABAP and bought an ABAP Objects book by Horst Keller. I have installed 4.6d mini sap and SAP GUI 6.4 on win XP Prof. I executed S_FLIGHT_MODEL_DATA_GENERATOR to load DB tables.
(1). When I tried to check a sample program, I get an error message SFLIGHT is not defined for the current logical database.
Here is the partial code:
REPORT zbcb01f1 .
TABLES: sflight, sbook.
DATA: BEGIN OF sr OCCURS 100,
carrid LIKE sbook-carrid,
connid LIKE sbook-connid,
fldate LIKE sbook-fldate,
bookid LIKE sbook-bookid,
order_date LIKE sbook-order_date,
loccuram LIKE sbook-loccuram,
END OF sr.
GET sflight. <---- Error is pointed here
(2). I am also not getting Graphical Screen Painter when selecting Layout for a screen. Instead, I am getting alphanumeric editor.
Someone please help me.
Raizak.Hi Raizak,
the easiest way is to go to service.sap.com/notes and enter the note number. For this time I've copied the 2 notes below.
Best regards,
Christian
Symptom
The Graphical Layout Editor of the Screen Painter either does not start or terminates.Error message 37527 is displayed in the session in which the call was made (Graphical Layout Editor not available.
Additional key words
() EUNOTE, EUSCREENPAINTER, 37 527
Cause and prerequisites
This note comprises all the common causes for error message 37527 and provides you with information on how to systematically trouble shoot the problem.
1. Windows32 or UNIX/motif?
As of Release 4.6B there is only the program version for 32bit Windows (NT, 95, 98, 2000 ff.).Up to Release 4.6A there was also a version for UNIX/Motif.All of the more current notes (with the exception of Note 45490) refer only to the Windows version.
2. Termination at the start or during use?
The following diagnostic steps refer to the causes of the errors which prevent the Graphical Layout Editor from starting. However, there are also known error causes, which result in the program terminating when the application is being used and which also produce the 37527 error message. This affects -
Rel.4.6C/D: Termination when attempting to read texts in the logon language -> Note 375494
Crash after transferring program and dictionary fields. Termination after transferring program and dictionary fields -> Note 189245
Release 3.1I: Termination after inputting field text -> Note 113318
3. Is the SAPGUI installation correct?
The Graphical Layout Editor is automatically installed during the standard installation of the SAPGUI.If you chose a non-standard installation, then you should have explicitely selected its installation (component "Development Tools - Graphical Screen Painter").
The program executable is called gneux.exe.During the SAPGUI installation it is placed in the same directory as the SAPGUI programms (for example, front.exe) (usually C:\Program Files\SAPpc\sapgui). The following belong to the program:
- An additonal executable gnetx.exe (RFC starter program)
- the DLL eumfcdll.dll
- various eusp* data files (that is, the names all begin with eusp.)
You can check the completeness of the program installation by starting the program gneux.exe locally in the SAPGUI directory (for example, by double-clicking on the program name in the Explorer window).The Layout Editor is displayed with German texts and an empty drawing area for the pseudo screen EUSPDYND 0000.
If the installation is not complete, an error dialog box provides information regarding the cause of the error, for example, sometimes the DLL eumfcdll.dll is missing after reinstalling the SAPGUI. For example, the eumfcdll.dll DLL was sometimes missing after the SAPGUI was reinstalled.
4. System link defined and okay?
The Graphical Layout Editor is a separate program which is started by the Screen Painter Transaction (SE51) on the Frontend machine.
Up to Release 3.0F, the programs communicated with each other via the graphics log of the SAPGUIs (gmux).The definition of the environment variable SAPGRAPH may be the cause for the program not being being found where it is.
As of Release 3.1 G, the programs use a separate RFC link which is set up in addition to the SAPGUI's RFC link.Missing or incorrect definitions of the RFC destination EU_SCRP_WN32 or problems with the creation of the RFC link are the most frequent causes for error message 37527 being displayed.Below you can find the correct settings for the RFC destination EU_SCRP_WN32 (under "Solution").Note 101971 lists all the possible causes for problems with the RFC link set-up. Attention:The Graphical Layout Editor may not be operated through a firewall (for example between the SAP and the customer system) because this does not allow an additional RFC connection in addition to the SAPGUI.
Solution
ad 1 UNIX/Motif
Note 45490 describes possible errors resulting from an incorrect program installation under UNIX/Motif (up to Release 4.6A).
ad 2 Termination when using
The above-mentioned notes may contain options for solving individual problems.However, you usually have to replace the program with an corrected version.You can do this either by downloading a patch from sapservX or by installing a more current SAPGUI.The patch is mentioned in the respective note.
ad 3 Installation
You either need to reinstall the SAPGUI or manually copy the missing file into the SAPGUI directory.In both cases you should make sure beforehand that a Graphical Layout Editor is no longer running.To do this you can either remove all processes gneux.exe from the process list by using a tool such as Task Manager (on WindowsNT) or exit the Graphical Layout Editor from the Screen Painter Transaction menu via Edit -> Cancel Graphical Screen Painter). Attention:For each session or system an individial Layout Editor process may exist so that, if need be, several processes should be cancelled.
ad 4 System link
Up to Release 3.0F:you can either delete the environment variable SAPGRAPH or copy all the files of the Graphical Layout Editor into the directory which is specified by SAPGRAPH.
As of Release 3.1G:you can use Transaction SM59 to check the RFC destination EU_SCRP_WN32 (expand the TCP/IP connections, select destination EU_SCRP_WN32).If the destination is missing, then you should create it with the following settings:
- Connection type "T" (start of an external program via ...)
- Activation type "Start"
- Start on "Front-end workstation"
- Front-end workstation program "gnetx.exe" (caution! NOT gneux.exe)
- Description (optional) "Graph. Screen Painter (Windows32)
Start Program gneux.exe using the gnetx.exe starter program."
If you want to start the program from a different directory than the SAPGUI standard directory, then replace the default value under Frontend work station by the complete path name for program gnetx.exe.Transaction SM59 also allows you to check the RFC connection via the pushbutton "Test connection").In this case the system attempts to localize and start the program gnetx.exe.If there are errors, a message is displayed regarding the possible causes (for example, gateway problem, timeout problem or the like).Note 101971 provides a detailed explanation of the problems involved with an RFC connection set-up.As the Graphical Screen Painter requires a functional RFC connection as of Release 3.1G, contact the System Administrator or create an message on the topic Middleware (BC-MID-RFC) if you encounter RFC problems.
If the program gnetx.exe can be found and started, the banner dialog box with logo, release data and version number is displayed briefly.As the Layout Editor itself is not started, the error cause must be in the installation of the Layout Editor program gneux.exe if the connection test was successful.
Release 4.5A to 4.6B: Use with Releases <3.1G>.
The Graphical Layout Editor is downward-compatible as regards the system connection, that is, an RFC-based Layout Editor for example from Release 4.6C can also be used on a non-RFC-based Screen Painter, for example of Release 3.0F.However, the releases mentioned above have a program error which causes a crash due to memory violation in the start phase of the program.Note 197328 describes the solution by installation of the corrected program version.
Important: Trace file dev_euspNNN!
If none of the diagnosis steps leads to the cause of the error and to the solution of the problem via the corresponding note, then you should add the contents of the trace files dev_euspNNN (NNN = process number) to the message for SAP, if possible.You can find this file in the current directory of the SAP System, for example under Windows NT in C:\Winnt\Profiles\<user>\SAPworkdir.If several such trace files can be found there, make sure that you use the file which matches the termination time with respect to date and time of creation.In most cases the ERROR message in the last lines of this trace file provides an important note on the cause of the error.
Source code corrections
Symptom
The graphic layout editor of the Screen Painter cannot be started (RFC version).
Other terms
() EUNOTE, EUSCREENPAINTER
Reason and Prerequisites
This is generally caused by the fact that the RFC connection between the frontend graphics layout editor and the calling screen painter program at the backend cannot be set up.
Possibility 1: Route permission denied
In the trace file dev_eusp<Process Id> of the graphics layout editor you find the entry "ERROR in RFCMgr_accept: not accepted", and in the RFC trace file dev_rfc.trc you have an entry of the form "ERROR route permission denied (<Front-Id> to <BackId>,<Service>)".
If there is a firewall between frontend computer and application
server, you need to decide whether the port for the RFC of the graphical layout editor can be released here (see Solution 1 below).
In case no firewall exists between the frontend computer and the application server, in its route permission table, the SAProuter contains either no entry for the frontend computer, on which the graphics layout editor is started, or the entry says that the link is saved by a password.Since the connection is denied, the graphics editor processes exits again, and the screen painter switches to the alphanumeric layout editor.
Possibility 2: Service 'sapgw<ServiceId>' unknown
In the trace file dev_eusp<ProzessId> of the graphics layout editor you have the entry "ERROR in RFCMgr_accept: not accepted", and in the RFC trace file dev_rfc.trc you have an entry of the form "ERROR service 'sapgw<ServiceId>' unknown".
The service sapgw<ServiceId> (for example, sapgw00) is not known on one of the computers participating in the RFC communication because the corresponding entry is missing in its service file. The affected computer can be the frontend computer or the gateway computer.
Possibility 3: The system parameter gw/cpic_timeout value is too low
This system parameter determines how many seconds the gateway is waiting for the RFC connection to be set up.In case of a high network load, the default value of 20 seconds is too small with the result that the connection cannot be created on time.Here the graphics layout editor process also exits with the trace file entry "ERROR in RFCMgr_accept: not accepted".
Possibility 4: System parameter abap/no_sapgui_rfc set
The profile parameter abap/no_sapgui_rfc of the system is set (that is, it has a value not equal to space or 0).This prevents the program of the graphics layout editor from being started with RFC at the frontend.
Possibility 5: Unnecessary authorization check
The error message "No RFC authorization for user xxxxxx" is generated although the check of the RFC authorization was deactivated by profile parameter auth/rfc_authority_check (value = space or 0). The problem is caused by a program error, that ignores the value of the profile parameter let during the call of the RFC authorization check (see Note 93254). This error can occur as of Release 4.5.
Solution
ad 1) If a Firewall is installed between frontend computer and the application server, you need to decide whether the port for the RFC link of the graphical layout editor shall be released in the firewall. This is port 33nn, where nn is the 2-digit system number of the SAP application server. As of Release 3.1G, the graphical layout editor needs an RFC link for communication with the application server in addition to the already existing linkof the SAP GUIs. Such a second link is not allowed by the firewall in general because it would contradict the security concept (password protection, logging of the connection).
If no firewall exists, you should check whether the frontend computer can be added to the route permission table or whether the password option can be removed from out of the available entry.
For details refer to chapter 4.4 of the attached Note 30289.
ad 2) Include service sapgw<ServiceId> in the service file.
Refer to Note 52959 for details.
ad 3) Increase value for system parameter gw/cpic_timeout. 60 seconds should be sufficent as a timeout limit.
ad 4) Set the system parameter abap/no_sapgui_rfc to space or 0
Start the application server so that the new parameter value comes into effect.
ad 5) Import the Support Package specified in the attachment for the release in question or implement the advance correction in the source code as described in the attached correction instructions.
As a workaround, assign RFC authorizations as described in Note 93254. -
Genric extractor on logical database
Hi
I have a requirement to create a generic datsource.
the requirement is to pull the data from logical database
the logical data base consists of tables and structures.
could pls let me know how would i create a generic datasource to pull the data from logical database.
Thanks,
DHi
Determining the Generic Delta for a DataSource
1. Choose Generic Delta.
2. In the subsequent dialog box, specify the delta-determining field and the type for this field.
3. Maintain the settings for the generic delta:
a. Specify a security interval.
The purpose of a security interval is to make the system take into consideration records that appear during the extraction process but which remain unextracted (since they have yet to be saved) during the next extraction.
You have the option of adding a security interval to the upper limit/lower limit of the interval.
b. Choose the delta type for the data to be extracted.
The delta type is used to determine how extracted data is interpreted in BW and which data targets in which it can be posted.
With the delta type additive delta, the record to be loaded for summarizable key figures only returns the change to the key figure. The extracted data is added in BW. DataSources with this delta type can supply both ODS objects and InfoCubes with data.
With the delta type New Status for Changed Records, every record to be loaded returns the new status for all key figures and characteristics. The values are overwritten in BW. DataSources with this delta type can write the data into ODS objects and master data tables.
4. Save your entries.
Delta transfer is now possible for this DataSource.
After generating the DataSource, you can see this from the marking for the field Delta Update on the DataSource: Customer Version screen.
Example for Determining the Selection Interval for a Generic Delta
Safety Interval Upper Limit
The delta-relevant field is a timestamp.
The timestamp that was read last is 12:00:00. Delta extraction begins at 12:30:00. The safety interval for the upper limit is 120 seconds. The safety interval for the delta request is: 12:00:00 to 12:28:00. Upon completion of the extraction, the pointer is set to 12:28:00.
Safety Interval Lower Limit
The delta-relevant field is a timestamp. After images are transferred. In other words, the record is overwritten with the status after the change in BW, for example for master data. Any duplicate records that appear have no effect upon the BW system.
The last changed timestamp is 12:28:00. Delta extraction begins at 13:00. The safety interval for the lower limit is 180secs. The safety interval for the delta request is: 12:25:00 to 13:00:00. Upon completion of the extraction, the pointer is set to 13:00:00. -
Disable Head Menu In GUI STATUS
Hello everyone,
i have a gui-status that has a menu (with several options within it) and application toolbar.
Im looking for a way to disable/remove the menu only , I know that the options within it can be disabled using EXCLUDE fcode but the menu header (The name we press is not assigned to an fcode apparently and thus cannot be disabled using the exclude option.
thanks in advance,
Eli Erenburg, Israeli NavyHi,
Actually there is no need to SET PF-STATUS in PAI in WHEN 'SWITCH' code as once it goes to PBO module it will again set PF-STATUS EXCLUDING 'SAVE' all the time.
So you have to change the PBO Module logic as follows,
MODULE PBO OUTPUT.
IF <your condition>.
SET PF-STATUS 'GS_100'.
ELSE.
SET PF-STATUS 'GS_100' EXCLUDING 'SAVE'.
ENDIF.
ENDMODULE.
and then remove the SET PF-STATUS statements from
SWITCH_EDIT_MODE subroutine..
Best way is to set a flag (a global variable) in SWITCH_EDIT_MODE and use it in PBO instead of go_grid->is_ready_for_input..
Some thing like the following,
in your SWITCH_EDIT_MODE routine,
IF gv_edit EQ 'X'.
CLEAR gv_edit.
****other code here to disable grid
ELSE.
gv_edit = 'X'.
****other code here to enable grid
ENDIF.
In your PBO module,
MODULE PBO OUTPUT.
IF gv_edit EQ space.
SET PF-STATUS 'GS_100'.
ELSE.
SET PF-STATUS 'GS_100' EXCLUDING 'SAVE'.
ENDIF.
ENDMODULE.
Hope this helps..
Regards -
hi all
In pf status why the function codes of menubar,appl tool bar are started with ampersand(&).
how different functions like 'back' delete' 'save' enter' can be declared in pf status and how can we use them in abap program.hi,
PF status is used for defining your own menus.For example you can add your own push button DELETE' in the menu bar as shown below:
In the PBO of the screen,uncomment module status100 and double click on it.
It will ask you if you want to write the code for the module in the main program or a separate include.
Now,in PF status,
MODULE status_0200 OUTPUT.
SET PF-STATUS 'GUI2'.
Uncomment the SET PF_STATUS line and give a name say GUI2 and double click on the name.
You will find three tabs in the GUI status:
In the application toolbar,write the function code for the push button you want,say DELETE.Press enter and give the function text,icon name and info text and save and activate the GUI status.
Now,in the PAI of the screen,uncomment the module user command and write the code:
Case ok_code.
When 'DELETE'.
...logic
Endcase.
chk this link for details:
http://help.sap.com/saphelp_di471/helpdata/EN/9f/dba34635c111d1829f0000e829fbfe/content.htm
http://help.sap.com/saphelp_46c/helpdata/en/d1/801d5d454211d189710000e8322d00/frameset.htm -
Hide all buttons in a GUI-STATUS ?
I'd like to hide all functions from the toolbar of a GUI-STATUS except for one function.
I could of course create a table with all the FCODE except for the one and then call
SET PF-STATUS 'bla' EXCLUDING itab.
But whenever I add a function to the GUI-Status then, I have to change that code. Is there a way to prevent this.Hello Daniel,
Looking at the responses that your question has got, I wouldn't say that I had understood the question as well as
the others have.
I understand that you want to be able to dynamically add and delete the Functions from your toolbar. But what I did
not quite understand is what exactly you had meant by "...I have to change that code....". If you want to perform an
action, you would have to write some code anyways. So here's what I would do:
1. Define a GUI-STATUS which has all the function codes you will ever need during the program.
2. You can manipulate the Buttons on the toolbar with the EXCLUDING option.
3. I don't believe that you need to use the FM RS_CUA_GET_STATUS_FUNCTIONS. Consider using instead the ABAP statement GET PF-STATUS. The Online Documentation has explained this statement wonderfully.
4. I don't think that creating a database table to merely maintain the FCODEs of a program is a sensible option either.
Instead consider using an internal table of constants, where you have all the FCODES required.
I hope these points would clarify some of the things. If you need further assistance, please get back.
Regards,
Anand Mandalika.
P.S. Two points that I would like to remind you:
a). You can use the statement SET PF-STATUS SPACE to reset all the PF-STATUS.
b). Once you set a PF-STATUS, it will be available till the moment you use the next SET PF-STATUS statement. -
How do we Assign new GUI-status to screen that we create.At present by defualt 'MEN' is coming
but i didn't created however ?.I am new to screen programming.Plz help.Hi,
Follow code:-
At screen logic:
PROCESS BEFORE OUTPUT.
MODULE status_8001.
In the PBO of the screen,
MODULE status_8001.
SET PF-STATUS 'ZPF_STAT'.
ENDMODULE.
Now in every screen use same concept and set appropiate status for the desired screen.
Every time a screen is called, the PBO of screen is executed and PF status will be changed.
Use code to remove a status from the screen:-
SET PF-STATUS space.
Say if from one screen you move to another and you dnt want any pf-status on that screen, then this will remove the pf-status from the next screen.
Hope this solves your problem.
Thanks & Regards,
Tarun Gambhir
Edited by: Tarun Gambhir on Feb 17, 2009 11:16 AM
Maybe you are looking for
-
My iphone 4 (ios 6.1.3) cant recive ore make calls ...network is ok is full...i tried everything restore many times from itunes....mode plane on off ....removing sim ...restoring network...hard reset..(call waiting is off and i can't do it on)
-
The illustrator in our studio is having an issue with snapping... Snap is off everywhere: - snap to grid - snap to objects - snap to point - smart guides - in the 3d grid "snap to grid" - in the document template "align new objects to grid" - in the
-
Workcenter overload during MRP run
Dear All. Hi, While MRP run using MD01, if there is a overload in a workcenter, using lead time scheduling & capacity planning can we stop the propsed plan & change the plan accordingly in the same screen. Subbu.
-
Photos update causes hidden photos to appear in screensaver slideshow
The upgrade to Photos caused me a few issues relating to hidden photos. First, I started seeing photos I had hidden appear in the screensaver. Then I went to find the hidden photos to re-hide them, but they seemed to be already hidden. Then I couldn'
-
TS1424 6 of my music videos i purchased are not working, they freeze up
music videos i purchased are not working correctly