HAP_DOCUMENT Structure

Hi,
anyone who can refer to a good documentation on the HAP_DOCUMENT bsp application? (I've searched in vain!)
I'm looking for a sound description of the application structure (Controllers, Views, Pages with flow logic, page fragments). For instance, what happends the first time a user calls the application - where is the entry and so?
... are anyone out there who can answer that question - if yes, please don't hesitate to post your answer!
Thanks in advance.
Elvez

After some debugging I found the structure of the HAP_DOCUMENT bsp application, which helped me find an appropriate way for modifying the application.
(Start by copying the HAP_DOCUMENT application)
If you want to change the entire page go to the <b>Views</b> folder and modify <b>layout_alternative.htm</b>. In <b>layout_alternative.htm</b> you find two includes <b>document_header.htm</b> and <b>document_buttons.htm</b>, a long with a call to the <b>body.do</b> controller. Taking a look at the HAP_DOCUMENT application it is quite obvious what these section of <b>layout_alternative.htm</b> represent.

Similar Messages

  • Hap_document modification

    Hello All,
    I have to do some modifications in Hap document .My question is shall i make change /modifications
    in standard only or copy it to Z and make changes to Hap document.What is more advicable.
    Also where i can find the complete functionallity of hap document ie which steps to follow for the appraisel in hap document.
    also what is the link between PHAP_ADMIN and the BSP hap_document
    Points assured .
    Thanks and Regards,

    Hi Friend,
    Taking z copy of the original application is more advicable and acceptable than that of doing changes in the original application.More than that making changes in original application has more restrictions.
    Searching the forum will fetch some information about the appliaction.
    [LINK1|Re: HAP_DOCUMENT Structure;
    [LINK2|http://help.sap.com/erp2005_ehp_03/helpdata/en/48/29ef4ec5df2143a9630ee6d1f4539f/content.htm]
    [LINK3|http://www.sapprogrammer.com/bsp_seek.html]
    With Regards,
    SHARMILA BRINDHA.M
    Edited by: SHARMILA BRINDHA on Mar 23, 2009 6:14 AM

  • XSLT transformation for deep structure .....

    Hello,
            I am trying to do an XSLT transformation for a deep structure HAP_S_PDF_DOCUMENT (see it in SE11), I have managed to achieve this. but not with perfection. i still get some redundant data and data have been experiencing Data duplication. I was hoping if you people point out the what is wrong in the transfromation. The data repeats for every once under node DATA and then under node of the refered structure name. Besides it also create a blank row even if the record is 0. I am mostly facing problem with nodes T_ELEMENTS. T_COL_CELL and T_FIELD. These are the nested structures, Can anybody help / guide me to achieve these transforamtion?
    <xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:sap="http://www.sap.com/sapxsl" version="1.0">
    <xsl:strip-space elements="*"/>
    <xsl:template match="HAP_DOCUMENT">
    <xsl:element name="HAP_DOCUMENT" namespace="">
    <xsl:apply-templates select="MAIN_HEADER"/>
    <xsl:apply-templates select="T_ELEMENTS"/>
    <xsl:apply-templates select="T_STAT_CHG_BUTTONS"/>
    <xsl:apply-templates select="S_APPRAISAL_ID"/>
    <xsl:apply-templates select="S_HEADER"/>
    <xsl:apply-templates select="POSITIONS"/>
    <xsl:element name="STAT_CHG_BUTTON">
    <xsl:value-of select="../STAT_CHG_BUTTON"/>
    </xsl:element>
    <xsl:element name="OFFLINE_ID">
    <xsl:value-of select="OFFLINE_ID"/>
    </xsl:element>
    <xsl:element name="BSP_FLAG">
    <xsl:value-of select="BSP_FLAG"/>
    </xsl:element>
    <xsl:element name="ROLE">
    <xsl:value-of select="ROLE"/>
    </xsl:element>
    <xsl:element name="APPRAISAL_YEAR">
    <xsl:value-of select="APPRAISAL_YEAR"/>
    </xsl:element>
    </xsl:element>
    </xsl:template>
    <xsl:template match="MAIN_HEADER">
    <xsl:element name="MAIN_HEADER">
    <xsl:for-each select="ZBGAPR_FORM_HEADER">
    <xsl:element name="DATA">
    <xsl:copy-of select="child::node()"/>
    </xsl:element>
    </xsl:for-each>
    </xsl:element>
    </xsl:template>
    <xsl:template match="T_ELEMENTS">
    <xsl:element name="T_ELEMENTS">
    <xsl:for-each select="ZHAP_S_PDF_ELEMENTS">
    <xsl:element name="DATA">
    <xsl:apply-templates select="T_COL_CELL"/>
    <xsl:copy-of select="child::node()"/>
    </xsl:element>
    </xsl:for-each>
    </xsl:element>
    </xsl:template>
    <xsl:template match="T_COL_CELL">
    <xsl:element name="T_COL_CELL">
    <xsl:for-each select="ZHAP_S_PDF_COL_CELL">
    <xsl:element name="DATA">
    <xsl:apply-templates select="T_FIELD"/>
    <xsl:copy-of select="child::node()"/>
    </xsl:element>
    </xsl:for-each>
    </xsl:element>
    </xsl:template>
    <xsl:template match="T_FIELD">
    <xsl:element name="T_FIELD">
    <xsl:for-each select="ZHAP_S_PDF_FIELD">
    <xsl:element name="DATA">
    <xsl:apply-templates select="T_VAL_VALUES"/>
    <xsl:apply-templates select="T_VAL_RANGES"/>
    <xsl:copy-of select="child::node()"/>
    </xsl:element>
    </xsl:for-each>
    </xsl:element>
    </xsl:template>
    <xsl:template match="T_VAL_VALUES">
    <xsl:element name="T_VAL_VALUES">
    <xsl:for-each select="HAP_S_BODY_CELL_VAL_VALUES">
    <xsl:element name="DATA">
    <xsl:copy-of select="child::node()"/>
    </xsl:element>
    </xsl:for-each>
    </xsl:element>
    </xsl:template>
    <xsl:template match="T_VAL_RANGES">
    <xsl:element name="T_VAL_RANGES">
    <xsl:for-each select="HAP_S_BODY_CELL_VAL_RANGES">
    <xsl:element name="DATA">
    <xsl:copy-of select="child::node()"/>
    </xsl:element>
    </xsl:for-each>
    </xsl:element>
    </xsl:template>
    <xsl:template match="T_STAT_CHG_BUTTONS">
    <xsl:element name="T_STAT_CHG_BUTTONS">
    <xsl:for-each select="HAP_S_BODY_CELL_VAL_RANGES">
    <xsl:element name="DATA">
    <xsl:copy-of select="child::node()"/>
    </xsl:element>
    </xsl:for-each>
    </xsl:element>
    </xsl:template>
    <xsl:template match="S_APPRAISAL_ID">
    <xsl:element name="S_APPRAISAL_ID">
    <xsl:copy-of select="node()"/>
    </xsl:element>
    </xsl:template>
    <xsl:template match="S_HEADER">
    <xsl:element name="S_HEADER">
    <xsl:apply-templates select="S_TEXTS"/>
    <xsl:apply-templates select="T_APPRAISER"/>
    <xsl:apply-templates select="T_APPRAISEE"/>
    <xsl:apply-templates select="T_PART_APPRAISER"/>
    <xsl:apply-templates select="T_OTHERS"/>
    <xsl:apply-templates select="S_STATUS"/>
    <xsl:apply-templates select="S_DATES"/>
    <xsl:apply-templates select="S_DISPLAY"/>
    </xsl:element>
    </xsl:template>
    <xsl:template match="POSITIONS">
    <xsl:element name="POSITION">
    <xsl:for-each select="ZBGHR_APR_POSITION_DET">
    <xsl:element name="DATA">
    <xsl:copy-of select="child::node()"/>
    </xsl:element>
    </xsl:for-each>
    </xsl:element>
    </xsl:template>
    <xsl:template match="S_TEXTS">
    <xsl:element name="S_TEXTS">
    <xsl:copy-of select="node()"/>
    </xsl:element>
    </xsl:template>
    <xsl:template match="T_APPRAISER">
    <xsl:element name="T_APPRAISER">
    <xsl:for-each select="HAP_S_PDF_APPRAISER">
    <xsl:element name="DATA">
    <xsl:copy-of select="child::node()"/>
    </xsl:element>
    </xsl:for-each>
    </xsl:element>
    </xsl:template>
    <xsl:template match="T_APPRAISEE">
    <xsl:element name="T_APPRAISEE">
    <xsl:for-each select="HAP_S_PDF_APPRAISEE">
    <xsl:element name="DATA">
    <xsl:copy-of select="child::node()"/>
    </xsl:element>
    </xsl:for-each>
    </xsl:element>
    </xsl:template>
    <xsl:template match="T_OTHERS">
    <xsl:element name="T_OTHERS">
    <xsl:for-each select="HAP_S_PDF_OTHERS">
    <xsl:element name="DATA">
    <xsl:copy-of select="child::node()"/>
    </xsl:element>
    </xsl:for-each>
    </xsl:element>
    </xsl:template>
    <xsl:template match="T_PART_APPRAISER">
    <xsl:element name="T_PART_APPRAISER">
    <xsl:for-each select="HAP_S_PDF_PART_APPRAISERS">
    <xsl:element name="DATA">
    <xsl:copy-of select="child::node()"/>
    </xsl:element>
    </xsl:for-each>
    </xsl:element>
    </xsl:template>
    <xsl:template match="T_PART_APPRAISER">
    <xsl:element name="T_PART_APPRAISER">
    <xsl:for-each select="HAP_S_PDF_PART_APPRAISERS">
    <xsl:element name="DATA">
    <xsl:copy-of select="child::node()"/>
    </xsl:element>
    </xsl:for-each>
    </xsl:element>
    </xsl:template>
    <xsl:template match="S_STATUS">
    <xsl:element name="S_STATUS">
    <xsl:copy-of select="node()"/>
    </xsl:element>
    </xsl:template>
    <xsl:template match="S_DATES">
    <xsl:element name="S_DATES">
    <xsl:copy-of select="node()"/>
    </xsl:element>
    </xsl:template>
    <xsl:template match="S_DISPLAY">
    <xsl:element name="S_DISPLAY">
    <xsl:copy-of select="node()"/>
    </xsl:element>
    </xsl:template>
    <xsl:template match="STAT_CHG_BUTTON">
    </xsl:template>
      <xsl:template match="OFFLINE_ID">
    </xsl:template>
      <xsl:template match="BSP_FLAG">
    </xsl:template>
      <xsl:template match="ROLE">
    </xsl:template>
      <xsl:template match="APPRAISAL_YEAR">
    </xsl:template>
    </xsl:transform>
    Regards,
    Shishir.P

    "XSLT transformation for a deep structure"
    which way abap to xml or xml to abap?
    you may want to check this thread
    Re: Problem converting XML back to structure using XSLT

  • Error in BSP HAP_DOCUMENT

    Hello All,
    I have to disply the data of appraisal as appraisee on ess .For this i useed page documents_recieved of bsp HAP_DOCUMENT and attached it to Iview on the ESS portal .but once i am clicking on the ivew i am getting following error :
    The following error text was processed in the system:
    BSP Exception: the Application Name BSP-Application in URL /sap/bc/bsp/sap/BSP-Application/BSP-Page?sap-syscmd=nocookie&sap-client=600&sap-language=EN&style_sheet=http%3A%2F%2Fsap-portal%3A50000%2Firj%2Fportalapps%2Fcom.sap.portal.design.portaldesigndata%2Fthemes%2Fportal%2Fth_ThomasCook%2Fcontrols%2Fcontrols_ie6 is invalid.
    Kindly help me to resolve this ,
    Regards,

    I dont think that is possible.
    ESS is based on netweaver platform, and we can show a BSP page in that.
    But the structure of HAP document is completely different where in there are many documents and also there is a controller which also plays a crutial role.
    Regards.

  • Structures used in PM - BSP

    Hi,
        There is a structure used in HAP_DOCUMENT BSP  'HAP_T_BODY_COLUMNS'. The field of this structure are getting loaded dynamically. One of the field is 'AVAILABILITY'
        In my scenario the 'AVAILABILITY' field is 'X' i want to change this to blank how do i do it. Kindly help.
    Regards,
    Bharath Mohan B.

    Hi,
    Try this code...
    data ls_hap_body_columns type HAP_S_BODY_COLUMNS.
    loop at HAP_T_BODY_COLUMNS into ls_hap_body_columns.
    endloop.
    clear ls_hap_body_columns-AVAILABILITY.
    then move this <b>ls_hap_body_columns</b> structure, as per your needs.
    I hope this will help you.
    Regards,
    Ramki.

  • Error in Appraisal HAP_DOCUMENT bsp appliation - Weight zero for objectives

    Error in Appraisal HAP_DOCUMENT bsp appliation - My client requirement is to store appraisal document with induvidual performance objectives even with zero (0.00) weighting. But on processing (saving/navigating to next status), standard business check "FM HRHAP_BC_DOC_BODY" is called which checks for "Weighting can't be 0,00"... Is there a way to skip this...
    (Note - the default weighting for each of the five induvidual objectives is assigned as 20. On going into the document and on chaning this weighting for any one or for more than one weighting to zero, this standard check is performed)
    Suitable answers / suggestions would be rewarded....

    I dont think that is possible.
    ESS is based on netweaver platform, and we can show a BSP page in that.
    But the structure of HAP document is completely different where in there are many documents and also there is a controller which also plays a crutial role.
    Regards.

  • How to use one Account dimension for multiple account structures

    We are implementing a HFM application to replace two general ledger applications, one being Corporate and the other a new subsidiary. We need to maintain both of the chart of accounts and their unique rollup structures. We are facing the difficulty in attempting to combine the two chart of accounts into one HFM Account Dimension because a few of the subsidiary accounts have the same account numbers but they are meant different things. 
    Question:
    How can we set up two distinct account structures in HFM and also have the subsidiary accounts rolled into the Corporate accounts for consolidation reporting? 
    Appreciate your help.

    Hope this help.
    _http://technet.microsoft.com/en-us/library/cc164331(v=exchg.65) .aspx

  • Message: "The database structure has been modified" every time I log to SAP

    Hello,
    "The database structure has been modified. In order to resume this process, all open windows will be closed". Every time I log to one of my companies in SAP Business One this message appears.
    I haven't installed any new addons and made no changes in database structure (and any other user hasn't done any changes), but this message appears always when I log to company for the first time (when I try to log on another user or log to another company there is no message). Can anyone help me with this problem?
    Best regards
    Ela Świderska

    Hi Ela Świderska,
    You may check this thread first:
    UDFs disappeared
    Thanks,
    Gordon

  • Transfer structure

    Hi All
    i have to create a transfer structure.
    in dso and cube i have 27 fields.
    but in tranfer structure it is showing 50 fields.
    i have to select the 27 fields out of 50 or i have to activate 50 fields in transfer structure.
    Thanks & Regards
    krishna

    Hi,
    Basically when creating the transfer structure you need to map the transfer structure fields with the ODS/Cube fields that are present in the communication structure.
    You just need to Transfer the fields, that you have identified in Data source to the transfer structure and map the relevant fields in the Transfer structure.
    Once the mapping is done. Just activate the Transfer structure.
    Most importatnt would be to decide on the mapping between data source and Communication structure fields.
    Hope it helps!!!
    Regards,

  • Loops in arrays or structures

    Loops in arrays or structures
    I was given a project on html reports and
    They have advised me to use Loops in arrays or structures
    At this point I am a novice at this html reporting system. I
    would like to know how I can use loops in arrays or structures.
    How is it beneficial are
    1. Structures
    2. Arrays
    3. loops in for both
    for my reports.
    Countless thanks in advance

    Structures are great if you understand them, they are
    basically just arrays organized by keywords rather than index
    numbers.
    Arrays are very nice, as you can just run through loops to
    access each element, as they are all indexed by numbers 0-x.
    loops are great to navigate through both. All you have to do
    is set an loop to run through x amount of iterations of the array
    or structure (where x is the length of the array, or number of
    elements in the structure). Loops are great due to the small amount
    of code they require.

  • How to delete the one of cost centers in Splitting Structure(OKEW)?

    Dear All,
    I have a question about Splitting Structure as below? Could I get favor from you? Thanks a lot.
    How to delete the one of cost centers in Splitting Structure(OKEW)?
    Jocha

    Hi Chang
    Welcome to SDN! Its our pleasure to help you here
    Step 1: Select your Cost Center in OKEW which is assigned to the Splitting Str
    Eg: Cost Ctr 1001 is assigned to Splitting Str Z1... Tick the Check box against 1001 under Z1 Splitting Str
    Step 2: Do a Single Click on the text "Non Assigned Cost Centers"
    Step 3: Press Shift +F6 (Or Click on the Assign Button, next to the Pencil icon)
    Br, Ajay M

  • How do I move photos in a Smart Collection and keep folder structure?

    HI there I am on a trial of Lightroom and loving it so far.  One seemingly simple task I would like to try out is moving all my RAW files (which are all mixed up with JPGs and PSDs to a new location and keep the current folder structure.
    Currently I have files strcutured like this: <main disk>\<year>\<month>\<filename>.cr2 and I would like to move these to <different disk>\<year>\<month>\<filename>.cr2
    The Export functions look as if they will put them all in to one big folder?  Any ideas?
    Many thanks in advance.

    There are several approaches to this problem. You could do this via the Folders panel in LR. You can do just about everything in the Folders panel that you can do in Explorer or Finder. Just create folder and drag and drop.
    Another way is to do this outside LR use Explorer (Windows) or FInder (Mac). after you're done then go back into LR and tell LR where to find the moved files. Depending on how many you have this could be a bit tedious.
    Another method is to choose the files you want then Export them as a Catalog. When you do this be sure to include the option to export the negatives. Point the new catalog at you other drive. It will recreate the folder structure during the export. Then remove the images from your present catalog. Don't delete from disk just remove. Now import from catalog and choose the newly exported catalog. This time choose the option to add the files without moving them. Once you are sure everything is back and is fine you can use Explorer or Finder to go into your original file structure and delete the files that were moved to the new drive.  Be careful to only choose the moved files. If you are separating the RAWs out this should be relatively easy.
    I hope that helps!

  • How can I batch move files to the same folder structure in a different location?

    Hi,
    I recently had an issue with my iTunes Library so I used the Organize Library feature to have iTunes organise my library.  What happened was that it put all of my music in a folder called 'Music' on my external hard drive, whereas previously it was not in a folder at all, e.g.
    BEFORE: External Hard Drive / Abba / Greatest Hits / Mama Mia.m4a
    AFTER: External Hard Drive / Music / Abba / Greatest Hits / Mama Mia.m4a
    I don't have any particular issue with the updated folder structure, except that I had copies of the artwork for each album in my album folders, and these weren't moved when the audio files were moved/consolidated/organised.  So I need to find a way of moving all of the artwork to the new folders, e.g.
    External Hard Drive / Abba / Greatest Hits / folder.jpg
    needs to become:
    External Hard Drive / Music / Abba / Greatest Hits / folder.jpg
    I have to do this for 3,000+ albums, and I have multiple artwork files for some albums, so I am hoping that there is a way of doing this using a batch/automated method of some kind, but I haven't been able to turn up anything yet.
    Can someone help with this?
    Thanks,
    Nick

    You can make a smart playlist containing episodes of both series and play from that. Podcasts are linked together by the URL they are served from so merging ongoing series isn't really practical.
    tt2

  • Can you share FP Controls between different Event Structures

    I'm creating a program that will either read real-time data from an VNA on the GPIB bus, or read a saved s2p (Agilent) file and analyze it. The FP consists of 5 graphs, and various controls which handle events like printing, changing filters, or exiting. on the BD I have a case structure controlled by an operator selection pop-up. I tried using the same FP controls in the event structures I have setup in each case, as only one event structure would ever be executing at any given time, but the program doesn't seem to like it ast run-time. I've worked around the issue by creating "duplicate" controls and using the property setting to make them visible/disabled, etc., but the is seriously congesting my BD.
    Anyone know a way to share controls with seperate event structures?

    It sounds like the root problem is the overall structure of your program. I highly recommend that you check out the Queued Message Handler project template in LabVIEW 2012, that will show you how to utilize a single event structure and pass events to a consumer loop. If you program is too large to consider an architecture change at this stage of the game, then there is a workaround for your problem.
    What is most likely happening is that you have the event structures all set to lock the front panel until the event completes. However the case structure that you have wrapped around these event structures is causing all but one of these event structures to be unreachable thus preventing you from handling the event. Again, as I stated above, the "RIGHT WAY" to fix this is to select a better program structure but the "kluge work-around" fix is this: Dynamically register for the value change event on all of the controls you are trying to trap events for. Dynamic events can be deregistered and re-registered at run time. This will allow only the event structure in the active owning case structure to be registered for the events, thus no other event structures will get in your way.
    Disclaimer: This advice is given based on very minimal information and a great deal of speculation and may not be correct. Please include your code if you need further assistance.
    Charles Chickering
    Architecture is art with rules.
    ...and the rules are more like guidelines

  • How to Extract Data for a Maintenance View, Structure and Cluster Table

    I want to develop  3 Reports
    1) in First Report
    it consists only two Fields.
    Table name : V_001_B
    Field Name1: BUKRS
    Table name : V_001_B     
    Field Name2: BUTXT
    V_001_B is a Maintenance View
    For this one I don't Find any Datasource
    For this Maintenance View, How to Extract the Data.
    2)
    For the 2nd Report also it consists Two Fields
    Table name : CSKSZ
    Field Name1: KOSTL (cost center)
    Table name : CSKSZ
    Field Name2: KLTXT (Description)
    CSKSZ is a Structure
    For this one I don't Find any Datasource
    For this Structure How to Extract the Data
    3)
    For the 3rd Report
    in this Report all Fields are belonging to a Table BSEG
    BSEG  is a Cluster Table
    For this one also I can't Find any Datasource,
    I find very Few Objects in the Datasource.
    For this One, How to Extract the Data.
    Please provide me step by step procedure.
    Thanks
    Priya

    Hi sachin,
    I don't get your point can you Explain me Briefly.
    I have two Fields for the 1st Report
    BUKRS
    BUTXT
    In the 2nd Report
    KOSTL
    KLTXT
    If I use  0COSTCENTER_TEXT   Data Source
    I will get KOSTL Field only
    what about KLTXT
    Thanks
    Priya

Maybe you are looking for

  • Team Calendar UI element in WebDynpro for java

    Hello Experts. We need to create an application like TeamCalendar.While searching sdn i found this pdf https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/e012e6a2-8d21-2a10-1bb8-d9b606f3474c which says there is some ui called TeamCal

  • Adding Chapters in Quicktime X

    Hi all I'm trying to add chapters to a video of mine. I've tried following this tutorial: http://www.apple.com/quicktime/tutorials/chaptertracks.html but it it appears to have been written for the old Quicktime 7 Pro. As such, I cannot open a text fi

  • Things I see missing since using Lightroom for tethered capture.

    I have previously been using Leaf and Capture One, now we are converting to LR b/c of its features. But there are a few small things that I noticed are missing that should be easy to fix. First the compare window. When shooting tethered in Capture On

  • Crash logs, bad access, deleted app.

    A while ago I downloaded an app, I had it for about a year but deleted it a couple of months ago, however I noticed in my diagnostics section it's still logging crashes for that app saying bad access. Should it still be leaving crash logs when the ap

  • Why has my icloud photo stream stopped working on windows xp

    I am unable to photo stream through iCloud anymore I have done it recently but it has stopped working, I've updated everything but when the control panel comes up I keep getting a Runtime error from windows and icloud photos is not enabled when I try