Code to populate CALMONTH/Year to MAY 2007.... APR 20006.

hi Abap Gurus,
Can some body help me to get code.My requirement is display previous 12 months with format "First three Chars of Month" space year.I have code for one month.
But i need code to display 11 months at a time.If i enter  <b>01.2007 the result should be.
DEC 2006
NOV 2006
OCT 2006
SEP 2006
AUG 2006
JUL 2006
JUN 2006
MAY 2006
APR 2006
MAR 2006
FEB 2006
JAN 2006
Sample CODE:
CASE I_VNAM.
WHEN 'ZT_PVM01'.
Data : month_nam(3) type c.
CLEAR : MONTH_NAM.
IF i_step = 2.
CLEAR l_s_range.
LOOP AT i_t_var_range INTO loc_var_range
WHERE vnam EQ 'ZPPRVMTH'.
l_s_range-low = loc_var_range-low.
wa_month = loc_var_range-low+4(2).
wa_year = loc_var_range-low(4).
wa_month = wa_month - 1.
If wa_month = 00.
wa_month = 12.
wa_year = wa_year - 1.
Endif.
CASE wa_month.
WHEN '01'.
month_nam = 'JAN'.
WHEN '02'.
month_nam = 'FEB'.
WHEN '03'.
month_nam = 'MAR'.
WHEN '04'.
month_nam = 'APR'.
WHEN '05'.
month_nam = 'MAY'.
WHEN '06'.
month_nam = 'JUN'.
WHEN '07'.
month_nam = 'JUL'.
WHEN '08'.
month_nam = 'AUG'.
WHEN '09'.
month_nam = 'SEP'.
WHEN '10'.
month_nam = 'OCT'.
WHEN '11'.
month_nam = 'NOV'.
WHEN '12'.
month_nam = 'DEC'.
ENDCASE.
CONCATENATE month_nam wa_year INTO L_S_RANGE-LOW SEPARATED BY ' '.
l_s_range-sign = 'I'.
l_s_range-opt = 'EQ'.
APPEND l_s_range TO e_t_range.
EXIT.
ENDLOOP.
ENDIF.
please help me points will be assigned.</b>

Hi
From the given date
separate Month and Year
New year = year -1.
get the months name from T247 table fun module MONTH_NAMES_GET
and take the first 3 char of that text
and concatenate the 3 char text with new year and display
do 12 times substracting month from the given month with some conditions
Reward points for useful Answers
Regards
Anji

Similar Messages

  • Customer exit code to populate three month's fiscal period

    Dear frns,
    I need an ABAP customer exit code to populate three month's fiscal period.
    Please update on this...thanks
    Cheers! Shana

    Dear,
    Thank u for all replies.
    My requirement is simple.
    Rows:
    Fiscal Year
    Columns
    GR Value
    Filters
    Material Number
    Input Paramters:
    Material No.
    Fiscal Year
    Using customer exit if we populate current fiscal year in the selection screen output be like this....
    FISCAL YEAR    GR Value(in crores)
    2009                     4000
    2008                     3000
    2007                     2000
    2006                     1000
    The cube name Custom Cube ZBBP_C03.
    But I dont have time char 0FISCYEAR in my Cube.In my cube avaiable chars are Calender Year,Calender Year/Month,Calender Year/Quarter,Fiscal Period
    Please let me know if you need any information.
    Waiting for replies,
    Thanks & Regards,
    Praveen.K

  • Where to add code to populate form parameters in forms 6i?

    Hi everyone!!
    I have the following scenario:
    I have a form that has a button that takes the user to a new window which too contains a button to take the user to the third window. In the third window i have two t lists that show the database values for the selection that user has made (say selecting from and to destinations). Now i invoke two different windows using two buttons in the third window that contain shuttles and the user makes his selection there using the four shuttle buttons.
    In the when button pressed trigger of the buttons that show the shuttle windows, i create record groups and populate the shuttles with the selected and available destinations on the right and left sides of shuttle respectively. Now when the user first comes to the form the shuttles display the selected and available destinations on its two sides correctly, but if the user makes some more selections, closes the shuttle windows and again goes to the shuttle windows, his selection's gone as i have the code to populate the shuttles on when button pressed.
    to get rid of it i'm thinking of adding form parameters that'll contain 1 if the user has navigated to the shuttle windows and 2 if he hasent navigated yet or in other words after opening the form he's yet to use shuttles. now i plan to use the parameters to handle the population of the shuttles. if the parameter value is 2 only then i'll use the code that populates the shuttles using record groups.
    Now my question's where should i initialize the parameters i.e. in which trigger. How about WHEN-NEW-FORM-INSTANCE?
    Will appreciate your thoughts on it.
    Thanks,
    Abhishek.

    Neways if at all i need to achieve (just for curiosity) the same thing which trigger should i put the code for the same?

  • Consolidated balance sheet for 3 company codes having different fiscal year

    Hi,
    In our current organisation, we have 3 company codes assigned to the company.
    All the three company codes use the same chart of accounts.
    Among the 3, 2 company code are having the same fiscal year variant, controlling area and tha same local currency.
    One company code has different fiscal year variant , controlling area and local currency.
    Now is it possible to see the balance sheet in f.01 for all the 3 company codes.
    If no, could  anyone let me  know if I have to use the multiple ledger concept to do thid.
    I am aware that multiple ledger concept appears when the same company code has different fiscal year variants , we can  see tha same posting in different fiscal year variants.
    I am not sure if I have to use the multiple ledgers to see the consolidate balance sheet for the three companies.
    Please provide me with a clarity on the same.
    Thanks,
    Shilpa.
    Edited by: ashilpa54 on Jan 12, 2011 5:24 AM

    Hi,
    Thanks for the extended help.
    But Group Chart of accouts should be maintained for all the comany codes if they have different Chart of accounts at the company code level.
    It is not mandatory have it when all the three company code have tha same COA.
    Thanks,
    Shilpa.

  • Company codes with different fiscal year variants in a controlling area

    Hi all,
    When I try to assign a company code with different fiscal year variant than controlling area I get error. It is ok so far.
    However, after assigning company with same fsv to controlling area the system lets me to change company code's fsv in company code global settings and I can even save it.
    So I wonder how it would be possible ? Why do I get just a warning instead of an error and save ?
    Thanks and regards.
    M.Yusuf Dogan

    Hi Bulut,
    There are 12 normal and 3 special periods in the fsv of the company code which i'm trying to assign. However, controlling area's fsv has 12 normal and 4 special periods.  I get an error message "KT297".
    Actually, my point is that if the company code's fsv is same with co's I can assign but the system lets me change cc's fsv after assignment.
    M. Yusuf Dogan

  • How to read XI Data type in Java code and populate as array list, using UDF

    Hi,
    How to read XI Data type in Java code and populate as array list, using UDF?
    Is there any API using which  the XI data types can be read?
    Kindly reply.
    Richa

    Input Structure:
    <?xml version="1.0" encoding="UTF-8"?>
    <ns0:CustomerCreateResp xmlns:ns0="urn:bp:xi:up:re:cust_mdm:cmdm:pr5:100">
       <CUSTOMER>
          <item>
             <CUSTOMERNO/>
             <MDMCUSTOMER/>
             <CREATE_DATE/>
             <RETURN>
                <TYPE/>
                <MESSAGE/>
             </RETURN>
             <PT_CONTPART_RETURN>
                <item>
                   <MDM_CONTACT/>
                   <CONTACT/>
                </item>
             </PT_CONTPART_RETURN>
             <PARTNERS>
                <item>
                   <CUSTOMERNO/>
                   <PARTNER_FUNCTION/>
                   <PARTNER_NUMBER/>
                   <DEFAULT_PARTNER/>
                </item>
             </PARTNERS>
          </item>
       </CUSTOMER>
    </ns0:CustomerCreateResp>
    Output structure
    (Sample output structure.This actually needs to be mapped and generated using UDF)
    <?xml version="1.0" encoding="UTF-8"?>
    <ns1:updateCustomer xmlns:ns1="urn:xiSericeVi"><ns1:customer><ns2:ArrayList xmlns:ns2="java:sap/standard">[]</ns2:ArrayList></ns1:customer><ns1:name>2344566</ns1:name></ns1:updateCustomer>

  • Customer exit code to populate fiscal period for prior three months

    Dear frns,
    I need an ABAP customer exit code to populate prior three month's fiscal period.
    Please update on this...thanks
    Cheers! Shana

    Hi
    Here is the code that will satisfies ur condition.
    CASE I_VNAM.
    IF I_STEP = 2.
    WHEN 'ZVAR1'.
    DATA DATE1 TYPE D.
    DATA PERIOD1 TYPE N.
    DATE1 = SY-DATUM.
    CALL FUNCTION 'DATE_TO_PERIOD_CONVERT'.
    exporting
    l_date = date1
    l_periv = 'v3'
    importing
    E_BUPER = PERIOD2
    E_GJAHR = YEAR2.
    DATA PER3 TYPE N.
    PER3 = PERIOD2 + 1.
    CONCATENATE YEAR2 PERIOD2 INTO FPERLOW.
    DATA LDATE TYPE D.
    LDATE = SY-DATUM + 365.
    CALL FUNCTION 'DATE_TO_PERIOD_CONVERT'.
    exporting
    l_date = LDATE
    l_periv = 'v3'
    importing
    E_BUPER = PERIOD2
    E_GJAHR = YEAR2.
    CONCATENATE YEAR2 PERIOD2 INTO FPERHIGH.
    DATA WA1 LIKE LINE OF E_T_RANGE.
    WA1-LOW = FPERLOW.
    WA1-HIGH = FPERHIGH.
    WA1-SIGN = 'I'.
    WA1-OPT = 'BT'.
    APPEND WA1 TO E_T_RANGE.
    ENDIF.
    Hope u gotit,
    Regard,
    RaviChandra

  • Code to populate a zzfield in extract structure

    Hi Guru's
    I am enhancing a zfield in extract structure for 2lis_13_vditm. I have added the zfield in the append struture & activated it.
    Zfield is populated from the table VBAP. I wanted to write an User Exit (EXIT_SAPLRSAP_001) to populate this zfield at CMOD.
    As I am not well versed in ABAP,I would really appreciate if you can help me to write a code  to populate this zfield from VBAP.
    Thank you,
    Neel

    Hi,
    Check for the sample code for 2LIS_13_VDITM.
    For 2LIS_13_VDITM Billing item Data
    TYPES: BEGIN OF ty_vbak,
             vbeln TYPE vbeln_va,
             vgbel TYPE vgbel,
           END OF ty_vbak.
    DATA: lx_vbak TYPE ty_vbak,
          lt_vbak TYPE TABLE OF ty_vbak.
    TYPES: BEGIN OF ty_vbrp,
             vbeln TYPE vbeln_va,
             vgbel TYPE vgbel,
           END OF ty_vbrp.
    DATA: lx_vbrp TYPE ty_vbrp,
          lt_vbrp TYPE TABLE OF ty_vbrp.
    DATA: lx_billitem TYPE mc13vd0itm.
    DATA: lt_billitem TYPE TABLE OF mc13vd0itm .
    DATA: lt_billitem_tmp TYPE TABLE OF mc13vd0itm .
    For 2LIS_13_VDITM item data
      WHEN '2LIS_13_VDITM'.
        lt_billitem[]  = c_t_data[].
        lt_billitem_tmp[] = c_t_data[].
        IF NOT lt_billitem_tmp[] IS INITIAL.
          SORT lt_billitem_tmp BY aubel.
          DELETE ADJACENT DUPLICATES FROM lt_billitem_tmp COMPARING aubel.
          SELECT vbeln
                 vgbel
            FROM vbak
            INTO TABLE lt_vbak
             FOR ALL ENTRIES IN lt_billitem_tmp
           WHERE vbeln = lt_billitem_tmp-aubel
             AND vgtyp = 'G'.
          IF sy-subrc EQ 0.
            SORT lt_vbak BY vbeln.
          ENDIF.
        ENDIF.
    Populate the added fields
        LOOP AT lt_billitem INTO lx_billitem.
          l_index = sy-tabix.
          MOVE lx_billitem-vbeln TO l_name.
    Internal Text
          CLEAR lt_line.
          REFRESH lt_line.
          CALL FUNCTION 'READ_TEXT'
            EXPORTING
             CLIENT                        = SY-MANDT
              id                            = 'Z010'
              language                      = sy-langu
              name                          = l_name
              object                        = 'VBBK'
            ARCHIVE_HANDLE                = 0
            LOCAL_CAT                     = ' '
          IMPORTING
            HEADER                        =
            TABLES
              lines                         = lt_line
           EXCEPTIONS
             id                            = 1
             language                      = 2
             name                          = 3
             not_found                     = 4
             object                        = 5
             reference_check               = 6
             wrong_access_to_archive       = 7
             OTHERS                        = 8
          IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
          ENDIF.
          IF NOT lt_line[] IS INITIAL.
            CLEAR lx_line.
            READ TABLE lt_line INTO lx_line INDEX 1.
            lx_billitem-zitext = lx_line-tdline.
          ENDIF.
          CLEAR lt_line.
          REFRESH lt_line.
    External Text
          CALL FUNCTION 'READ_TEXT'
            EXPORTING
             CLIENT                        = SY-MANDT
              id                            = 'Z011'
              language                      = sy-langu
              name                          = l_name
              object                        = 'VBBK'
            ARCHIVE_HANDLE                = 0
            LOCAL_CAT                     = ' '
          IMPORTING
            HEADER                        =
            TABLES
              lines                         = lt_line
           EXCEPTIONS
             id                            = 1
             language                      = 2
             name                          = 3
             not_found                     = 4
             object                        = 5
             reference_check               = 6
             wrong_access_to_archive       = 7
             OTHERS                        = 8
          IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
          ENDIF.
          IF NOT lt_line[] IS INITIAL.
            CLEAR lx_line.
            READ TABLE lt_line INTO lx_line INDEX 1.
            lx_billitem-zetext = lx_line-tdline.
          ENDIF.
          CLEAR lx_vbak.
          READ TABLE lt_vbak INTO lx_vbak
                     WITH KEY vbeln = lx_billitem-aubel.
          IF sy-subrc EQ 0.
            lx_billitem-zcontract = lx_vbak-vgbel.
          ENDIF.
          IF lx_billitem-aubel EQ lx_billitem-vgbel.
            lx_billitem-vgbel = space.
          ENDIF.
          MODIFY lt_billitem FROM lx_billitem INDEX l_index.
        ENDLOOP.
        CLEAR c_t_data.
        REFRESH c_t_data.
        c_t_data[] = lt_billitem[].
    Thanks,
    Debasish

  • Code to populate fields

    Hi gurus,
    I have 2 Z-fields in VBRP table.I have appended these fields to  the extract structure(2LIS_13_VDITM).I need to write a code to populate these fields with Data.As i am new to ABAP,can anyone help me with the code.Very much appreciated,also it would be great if you could just write in comments for what each line of code does.
    Thanks in advance

    Hi ,
          This is just a sample,
    TABLES: vbak,
            ekkn,
            vbap,
            ekpo.
    DATA: o_ekko LIKE ekko,
          i_t_ekpo LIKE ekpo   OCCURS 1 WITH HEADER LINE.
    DATA: BEGIN OF lt_custmat OCCURS 0,
                 kunnr LIKE vbak-kunnr,
                 matnr LIKE vbap-matnr,
          END OF lt_custmat.
    DATA: ld_distributionfactor LIKE mcekpo-abcposo,
          ebeln LIKE ekpo-ebeln,
          ebelp LIKE ekpo-ebelp,
          it_ekpo TYPE TABLE OF ekpo WITH HEADER LINE,
          old_val(50) TYPE c.               "For storing the value from the                            
                 style='mso-tab-count:3'>                                          "Field Symbol
    FIELD-SYMBOLS <fs> TYPE ANY TABLE.
    CASE zeitp.
      WHEN 'MA'.                            "When creating a purchase order
        MOVE '(SAPLEINS)T_EKPO[]' TO old_val.
        ASSIGN (old_val) TO <fs>.
        i_t_ekpo[] = <fs>.
        LOOP AT xmcekpo.
          ebeln = xmcekpo-ebeln.
          ebelp = xmcekpo-ebelp.
          IF xmcekpo-supkz = '1'.            "Old Value ?
            SELECT SINGLE * FROM ekpo INTO it_ekpo WHERE ebeln = ebeln AND
         ebelp = ebelp.
            xmcekpo-zkopprctr = it_ekpo-kopprctr.
          ELSE.                              "New Value ?
            READ TABLE i_t_ekpo WITH KEY ebeln = ebeln
                                         ebelp = ebelp.
            xmcekpo-zkopprctr = i_t_ekpo-kopprctr.
          ENDIF.
          MODIFY xmcekpo .
        ENDLOOP.
    hope it helps,

  • I bought my macbookpro in may 2007, will it work with Mountain Lion? Hardware Overview:    Model Name:     MacBook Pro   Model Identifier:     MacBookPro2,1   Processor Name:     Intel Core 2 Duo   Processor Speed:     2.33 GHz   Serial Number (system):  

    I bought my macbookpro in may 2007, will it work with Mountain Lion?    Model Name:     MacBook Pro   Model Identifier:     MacBookPro2,1   Processor Name:     Intel Core 2 Duo   Processor Speed:     2.33 GHz   Number of Processors:     1   Total Number of Cores:     2   L2 Cache:     4 MB   Memory:     3 GB   Bus Speed:     667 MHz   Serial Number (system):     W872******

    Apple states that (of the MBP lines) it has to be from Mid/Late 2007 or later.  yours seems to be right on the line.
    Apple says
    If you are running Lion, you can find out if your current Mac qualifies by clicking the Apple icon at the top left of your screen, choosing About This Mac, then clicking More Info.
    you must also have the latest version of Snow Leapord or Lion

  • HT1212 iPod says disabled connect to itunes...  wrong pass code from my 10 year old.  I put to recovery mode and 10 minutes into restore it tells me to put the pass word in but the iPod is still locked... help

    IPod says "disabled connect to itunes"...  wrong pass code from my 10 year old.  I put to recovery mode and 10 minutes into restore it tells me to put the pass word in but the iPod is still locked... help  I can't put the pass code in and I can't recover.... He feel awful!

    https://discussions.apple.com/message/16719363#16719363

  • Posting A Park document of year 2005 in 2007( Error message no. FP 041)

    Hi All
    I have a parked document in year 2005 and know the user want the same to post in 2007. while changing the header(posting date and making as 01.01 2007) through T.code MR44.
    I am getting the following error.
    Changing of document number or fiscal year not possible here
    Message no. FP 041
    Please let me know whether i can post a parked document of 2005 in 2007.
    or any way to rectify the same.
    regards
    Ramesh

    How can we change a parked document's fiscal year?
    I parked a document in fiscal year 2011, period 01. now I want to post it in fiscal year 2010, period 12.
    When I use FBV2 to change header information, it shown up an error message:
    Changing of document number or fiscal year not possible here
        Message no. FP041.
    How can I do now?
    Thanks.

  • Different Company Code with same fiscal year variant and controlling area

    Hi
    I have three company codes in three three different countries: 1000 (ABC India), 2000 (ABC Inc, US), 3000 (ABC Dubai)
    But our consultants have assigned only one fiscal year variant V3 and one controlling area 1000 (with fiscal year variant v3)
    So what problem one may face because of above settings and what is ideal setting for such scenario
    Edited by: Meenu_ND on Oct 18, 2010 2:35 PM

    I have one leading ledger and two non leading ledger (i.e Group ledger and IFRS ledger). But Fiscal year variant is not mentioned for both the non leading ledgers.
    So i think it will take V3 only for non leading ledgers too.
    And in your solution, since India is main company, fiscal year variant for leading ledger needs to be V3 only.
    What if i keep non leading ledger as fiscal year from Jan to Dec. Then it will be:
    Leading Ledger: April to March
    Non leading ledger: Jan to Dec
    In above case, do i need to create separate controlling area ?
    Edited by: Meenu_ND on Oct 19, 2010 10:43 AM

  • ActiveX Objects Don't Run Code When Clicked after installing SP3 for 2007

    I have an application that I built using Excel 2013 for a client who uses Excel 2007. Up until mid-December of last year, the application ran fine on the client's machines.    Today we found that their version does not work - specifically,
    clicking an ActiveX command button does not result in code running.  Of course, we double-checked to make sure macros were enabled etc.  We tested other files and got the same result. We tried running them off of thumb drives, to no avail. We
    then learned from their IT guy that a MS security patch, 2984942, was installed on 12/12.  Has anyone experienced any issues running VBA code in either 2007 or 2013 after installing that patch? What am I missing?
    Thanks in Advance.
    Bugless

    I have an application that I built using Excel 2013 for a client who uses Excel 2007. Up until mid-December of last year, the application ran fine on the client's machines.    Today we found that their version does not work - specifically,
    clicking an ActiveX command button does not result in code running.  Of course, we double-checked to make sure macros were enabled etc.  We tested other files and got the same result. We tried running them off of thumb drives, to no avail. We
    then learned from their IT guy that a MS security patch, 2984942, was installed on 12/12.  Has anyone experienced any issues running VBA code in either 2007 or 2013 after installing that patch? What am I missing?
    Thanks in Advance.
    Bugless
    Yes, recent update in December broke ActiveX objects in Office. Solution is simple. Close all instances of Excel and other Office products. Do a wild card search for "exd" files (not exe !).  Delete all the exd files.

  • May 2007 Screenshots

    Guidelines
    · DO NOT post full resolution screenshots!  You can use the "mogrify" command (pacman -S imagemagick) to make a thumbnail of your screenshot:
    $ cp screenie.png thumb-screenie.png
    $ mogrify -resize 20% thumb-screenie.png
    Twenty percent of the original size is great for 1024x768 screenies.  You can then upload these images to your server and use the following code to show them on the forum:
    [url=http://my.site.com/screenie.png][url]http://my.site.com/thumb-screenie.png[/url][/url]
    This displays the thumbnail as a link to the screenie like this:
    http://dtw.jiwe.org/share/screenies/thumb-screenie.png
    · If you do not have your own upload space you can upload to http://art.archlinux.org and link your shot here (with text) for discussion
    · Several websites also offer free image hosting, of these  ImageShack is very popular and does a neat auto thumbnail:
    http://img247.echo.cx/img247/7290/20050 … 7fv.th.png
    You should use the "Thumbnail for forums (1)" link code that is supplied to post here
    · Once the new month begins please do not post new screenies in the old threads.
    · If the screenshot has questionable material that might not be safe to view while at work or in a school setting, please post only a link and not a thumbnail, along with a mention of "Not Safe for Work". Posts that do not adhere to this are subject to deletion without notice at any time.
    · Please try to include any links to your wallpaper or configs that you may have and/or the names of your icon theme, running apps, DE, etc. in the same post to reduce unnecessary clutter later.

    phunkycow wrote:
    The clouds come to life by Ether
    Make sure you check out his gallery. Top stuff!
    Yeah, sure!
    I'm using one of his piece of art too.
    I'm relatively new to Arch (and to Linux in general), but my first post is for this thread...!
    Here's my desktop:
    GTK2 theme: Murrina Black
    Emerald theme: Transience
    Icons: SnowIsh
    Wallpaper: edge by *ether
    DE: XFCE
    Applications: Beryl, Sonata & Terminal
    PS: Can someone tell me where to find this nice info-script? I've been searching for it for a moment but without success.

Maybe you are looking for

  • How do I allow my users to set the option to save a new timezone for future sessions?

    The option to save a newly selected timezone for future sessions has been greyed-out in the Calendar Client. How can I allow my users to choose this option? <P> This is controlled by the settimezone setting on the Calendar Server. By default, it is s

  • Table contents displayed only on the 1st page

    Hi I have a table in the context and layout....this table is containing 50 rows but only 15 rows are getting displayed on the 1st page.. 2nd page is not getting dipslayed... I am not using subforms but a internal table from context

  • Need to an OutputStream or Writer to write in a file

    Hello, I my java class, I need to an OutputStream or a Writer to write in a file. The problem is that I am in a webapp. To get an inputStream, I use this : InputStream is = this.getClass().getResourceAsStream("RELATIVE_PATH_IN_WEBAPP"); But it doesn'

  • Master-Details Record

    I have a Master and two details records. I need to generate report for the Master-Details record. I need to include some details from the Master table and some details from each of the detail tables. For example : In Master table: Employee_Number Emp

  • Website not publishing accurately

    When I publish my website (jonathanrenouf.com), half the web pages come out as they look on iWeb, but the other half turn the background completely black, making the text virtually illegible. Any idea why this should happen? It's the same whatever br